jquery-contextmenuのsumbenuから関数を呼び出して、どのオプションがクリックされたかに応じて特定のパラメータを渡しています。jqueryのコンテキストメニューのパラメータを持つ関数を呼び出す
私はそのサブメニューを、3つの名前を含むjsオブジェクトに従って生成しています。私がそれらの1つをクリックすると、その名前でパラメータが呼び出され、それがコンソールに表示されます。
しかし、それは最後の要素だけで関数を呼び出すため、私はその理由を知らない。 「ジョン」または「マット」をクリックすると、「ペターを押した」と表示されます。ただ、この画像のような
:
私は「ペター」をクリックしたことがない場合でも、それだけで「あなたはペターが押された」表示されます。
コード(私はここでフィドルを置くことができるが、私はjqueryのコンテキストメニューのリンクが見つかりませんでした、それが存在する場合は、私にそれを共有している場合、私は喜んでいるよ):
var obj = {"1":"john","2":"Matt","3":"Petter"};
function myFun(name){
console.log("you pressed "+name);
}
$(function() {
$.contextMenu({
selector: '.context-menu-one',
autoHide: true,
build: function($trigger, e) {
var options = {
items: {}
}
options.items["users"] = {name: "users", icon: "fa-circle", items: {}}
for(var i in obj){
options.items["users"].items[obj[i]] = {name: obj[i], icon: "fa-user", callback: function(){
myFun(obj[i]);
}}
}
return options;
}
});
});
のため申し訳ありません
私の悪い英語と感謝。
美しい、TYそんなに! –