關於ztree雙擊


在項目中使用了ztree來做組織結構的樹,我們定義的樹中擁有三種節點(使用樹節點中的一個自定義屬性type來區分):組織結構,建築,設備類型。要求是:雙擊的時候將點擊的節點添加到另一棵樹中。但是,雙擊組織結構不觸發,雙擊建築連同建築及其下屬設備類型一起添加,雙擊設備添加其父建築節點和自己本身,目標樹中擁有的不添加。

做完之后沒有覺得如何。后來被同事發現一個bug,當目標樹中有一個建築節點時,雙擊源樹中的這個節點,雖然目標樹中沒有添加,而且也給出了重復提示。但是源樹中的該節點下面添加了整個樹。。。開始以為是判斷邏輯上面有問題,但是檢查多遍都沒發現哪里有問題,然后又通過firefox的Firebug給每一個addNodes方法添加斷點,居然發現,任何一個addNodes方法都沒有調用,但是居然還是添加了。並且,如果是在源樹中雙擊的不是建築節點,而是設備類型節點,在相同的情況下也沒有問題。原因始終是沒有找到。不過問題還是解決了。

原來的寫法是,給樹節點添加onDblClick事件,所有的判斷是否添加到目標樹的邏輯以及添加語句都在這里實現。修改后的方法是:把判斷是否添加到目標樹的邏輯放在了beforeDblClick事件中。只要不符合條件都返回false,這樣onDblClick事件不會響應。

總結:盡管由於事件原因,沒能發現原理問題,不過能解決這個問題,還是頗費了一番功夫,寫下來以備日后忘記。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM