2011-05-18 54 views
4

我嘗試使用良好的lib jstree但我有一些奇怪的問題與dblclick綁定。 這裏是我的代碼Jstree:dblclick綁定參數數據未定義

$("#basic_html").jstree({ 
    themes: { 
     url: "http://mywork/shinframework/shinfw/themes/redmond/css/jstree/default/style.css" 
    }, 
    "plugins" : ["themes","html_data","ui","crrm","hotkeys", "core"], 
}); 

$("#basic_html").bind("dblclick.jstree", function (e, data) { 
    alert(e); 
    alert(data); 
}); 

運行此代碼時,我讓DBLCLICK一些節點,我可以看到2個警報。第一個是object右,第二個是undefined - 但我想接收數據信息。

請問,如果一些專家解決這個問題,給我正確的方式正確使用dblclick並接收關於我單擊節點的「數據」信息。

謝謝

+1

嗨, 我試圖用以下代碼使用事件dblclick.jstree。 .bind(「dblclick.jstree」功能(事件數據){ }) 的問題是,數據是不確定的,所以我怎樣才能到 我的樹對象的引用?上面的代碼對所有其他事件都適用。在那裏,我獲得了 數據,並可以通過data.inst獲得對該樹的引用。 我真的需要som幫助.. – 2011-05-19 06:55:05

+0

同樣的問題。有沒有找到解決方案? – 2013-02-28 22:02:44

回答

0

我推薦這種方法。 。 。

$("#basic_html li").live("dblclick", function (data) { 
    //this object is jsTree node that was double clicked 
    ... 
}); 

首先,你通常只需要知道,如果點擊是如此監控上慄的事件會給你你需要的一切。其次,使用live代表進行事件綁定,以便您可以在不中斷事件的情況下操縱樹。

一旦你有雙擊的節點(這個對象),然後你可以使用這樣的內置函數。 。 。

if (!jsAll.is_selected(this)) { return false; } //cancel operation if dbl-clicked node not selected 

其中。 。 。

jsAll = $.jstree._reference("basic_html") 
+0

不幸的是''數據'仍然是'空'與這種方法 – hoang 2013-01-08 13:25:09

0
$("#basic_html").bind("dblclick.jstree", function (event) { 
    var node = $(event.target).closest("li");//that was the node you double click 
}); 

這就是你想要的代碼。