Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Set the selected status of an action bar item without invoke the onClick hook defined for the item #770

Closed
xqliu opened this Issue · 3 comments

2 participants

@xqliu

Dear All,

I meet an requirement that I would like to set the selected status of an action bar item without invoke the onClick hook defined for the item,

I remember we have a discussion before, for example #598.

Is there any plan to implement this or this there any workaround we could use to implement this?

Regards.
Lawrence.

@xqliu

I am wondering whether we could add the second boolean parameter to indicate whether the onclick need to be invoked. Here are what I have changed in bbui.js, is it possible that we merge this tiny change to current stream to support this?

        actionBar.setSelectedTab = function(tab, invokeOnClick) {
                    if (tab.getAttribute('data-bb-style') != 'tab') return;
                    bb.actionBar.highlightAction(tab);
                    if (tab.onclick && true === invokeOnClick) {
                        tab.onclick();
                    }
                };
@tneil
Owner

There are a couple of solutions to this.

1) If you are looking to set the state of the tab before the screen is shown to the user you can set the data-bb-selected="true" attribute in the onscreenready event. This will draw the tab selected but not fire its onclick.

2) If you need to set the selected state of the tab without the onclick firing after the DOM has been loaded I would suggest the following.

First set your own flag on the tab you want to select and .

var tab = document.getElementById('myTab'),
    actionBar = document.getElementById('myActionBar');

tab.ignoreclick = true;
actionBar.setSelectedTab(tab);

Then in the onclick of your tab check to see if you have set your flag. If you have then return from the event

function myclick() {
   if (this.ignoreclick == true) {
      this.ignoreclick = false;
      return; 
   }

  // My normal onclick function stuff
}
@xqliu
@tneil tneil closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.