jQuery UI メニューをコンテキスト メニューとして使用しているため、ユーザーがテーブル内のセルをクリックすると、関連するオプションが表示されます。問題は、実際にはこのように使用するように設計されていないため、ユーザーがメニューの外をクリックしても非表示にならないことです。
私はぼかし方法を使ってみました:
$("#menu").menu({
blur: function( event, ui ) {
$("#menu").css('top', '-1000px');
$("#menu").css('left', '-1000px');
}
});
ただし、何らかの理由で、メニューのオプションの 1 つにスクロールしても、メニューが非表示になります。
これに対する簡単な解決策はありますか?
編集: 私が使用するメニューをプルアップするには:
$("table.adminScheduleViewer tr td:nth-child(4), table.adminScheduleViewer tr td:nth-child(5), table.adminScheduleViewer tr td:nth-child(6), table.adminScheduleViewer tr td:nth-child(7), table.adminScheduleViewer tr td:nth-child(8), table.adminScheduleViewer tr td:nth-child(9), table.adminScheduleViewer tr td:nth-child(10)").click(function(event){
$("#menu").css('top', event.pageY);
$("#menu").css('left', event.pageX);
});
$('body').click() を使用して非表示にしようとすると、常に最初に呼び出されるようです。jQuery がクリックを処理する順序を変更できますか?