クリックイベントが、逆の操作で機能のコールバックを持つウィンドウ上の別のクリックイベントをバインドする要素に対してクリックイベントを持っています。この場合は、OSメニューのようなメニューです。メニューをクリックするとメニュー項目をクリックするか、メニューの外に出るとメニューが閉じます。右クリックメニュー、Ubuntu/Macのトップメニューバーなどと考えてください。クリックをバインドするときにウィンドウをクリックしないようにしますか?
私の問題は、クリック時のクリックイベントがウィンドウをトリガーしているためです。どのように「遅延」してすべての「将来の」クリックをすることができますか?
{..code...}
actionMenu: function(action,item){
if(action == 'open'){
$(window).bind('click.contextMenus',app().actionMenu('close'));
$(item).addClass('active').find('ol').css({display:'block',top:$(item).outerHeight()+'px'});
}
else if(action == 'close'){
app().debug('closed?','console');
$('#menu .active').removeClass('active');
$('#menu > ol > li ol').css({display:'none'});
$(window).unbind('click.contextMenus');
}
},
{..code...}
そして:
$('#menu > ol > li').click(function(e){
if($(this).find('ol').is(':visible')){
app().actionMenu('close');
}
else{
app().debug('clicked?','console');
app().actionMenu('open',this);
return false;
}
});
てみてください;' 'アプリ(後)をactionMenu( '近い');' – Damp
が私の答え – Damp
YESを更新しました。!ありがとうございました。 Duh ...私はそれを逃したとは思わない。もう一度おねがいします! –