Bootstrap 3 を使用して、ドロップダウン メニューをカーソルに配置し、コードから開くにはどうすればよいですか?
行のコンテキスト メニューとしてテーブルで使用する必要があります。
Bootstrap 3 を使用して、ドロップダウン メニューをカーソルに配置し、コードから開くにはどうすればよいですか?
行のコンテキスト メニューとしてテーブルで使用する必要があります。
可能です。良いスタートを切るために、動作するデモを作成しました。
動作デモ (表の行を右クリックして動作を確認します)
最初にドロップダウン メニューを作成し、非表示にして次のように変更しposition
ますabsolute
。
#contextMenu {
position: absolute;
display:none;
}
contextmenu
次に、イベントをテーブルの行にバインドして、ドロップダウン/コンテキスト メニューを表示し、カーソルに配置します。
var $contextMenu = $("#contextMenu");
$("body").on("contextmenu", "table tr", function(e) {
$contextMenu.css({
display: "block",
left: e.pageX,
top: e.pageY
});
return false;
});
次に、ユーザーがドロップダウン/コンテキスト メニューを非表示にするオプションを選択すると、次のようになります。
$contextMenu.on("click", "a", function() {
$contextMenu.hide();
});
KyleMitのコードにいくつかの変更を加えました:
通過イベント
$("#myTable tbody td").contextMenu({
menuSelector: "#contextMenu",
menuSelected: function (invokedOn, selectedMenu) {
var msg = "You selected the menu item '" + selectedMenu.text() +
"' on the value '" + invokedOn.text() + "'";
alert(msg);
},
onMenuShow: function(invokedOn) {
var tr = invokedOn.closest("tr");
$(tr).addClass("warning");
},
onMenuHide: function(invokedOn) {
var tr = invokedOn.closest("tr");
$(tr).removeClass("warning");
} });