私は次の問題に遭遇しました。私は私のjstreeのためのディナミズムメニューを作成する必要があります。だから、:jstreeコンテキストメニューアクション評価
var default_dict = {
create: false,
rename: false,
remove: false,
ccp: false
};
for (one in viewers) {
var details = viewers[one];
alert(details['module']);
alert(details['classname']);
default_dict[one] = {
label: 'View in: ' + one,
action: function (obj) {
doLaunch($project.id, nodeId, obj.one.module, obj.one.classname, obj.attr("dataType"))
},
seperator_after: false,
seperator_before: false
}
}
return default_dict;
は今、これは私のメニュー項目を返す私のcreateMenuItems
機能の主要部分です。今、私がチェックしたモジュールとクラス名がで罰金です:
alert(details['module']);
alert(details['classname']);
しかし、あなたが見ることができるように私は、各項目のアクションがit.s correspondigモジュールとクラス名のデータとの打ち上げになりたいです。しかし、私は、実際の評価見ることができるものから: アクション:
function (obj) {
doLaunch($project.id, nodeId, obj.one.module, obj.one.classname, obj.attr("dataType"))
}, is done after the initialization of the tree. So now I'm in the following situation:
は、視聴者を想定すると、以下の通りです:ツリーの初期化で
{ 'viewer1' : { 'module': 'Module_one', 'classname' : 'Classname_one' }, 'viewer2' : { 'module' : 'Module_two', 'classname' : 'Classname_two' } }
これが適切に解析され、私はラベルされたアイテムを取得しています。 'ビューア1で表示し、ビューワ2で表示する。しかし、 'View in viewer1'をクリックして、アクション関数が評価されると、詳細にViewers2モジュールとクラス名が含まれ、間違った起動が行われます。私は私の問題を適切に説明してくれることを望む。
今私はjsで始まっているので、おそらく私は何か基本的なものを逃しています。任意の提案をいただければ幸いです。
よろしく、 ボグダン