我遇到了jsPlumb和jQuery EasyUI的問題。加載jQuery EasyUI後jsPlumb無法正常工作(jQueryUI和EasyUI之間的衝突)
這裏發生了什麼。我有一個使用EasyUI的網站,我試圖向它添加一些jsPlumb連接,並且這種連接並不像我想要的那樣執行。
我只準備了一些使用jsPlumb的演示程序,它正在工作。但是,當我將它添加到現有的網站連接不起作用。
調查後,哪裏是我來到這個衝突:
jsPlumb工作,只要我不加載EasyUI。裝載EasyUI後:
<script type="text/javascript" src="jquery.easyui.min.js"></script>
- 我不能拖動源端點(我拖累了點,但現在正在創建新的連接)
- 終點不按他們屬於DIV創建新的連接(他們將自己定位正確當你用鼠標點他們)
我準備2個演示使用jsFiddle來展示我的意思。唯一覺得不同這兩samles是jquery.easyui
- 工作jsPlumb Full Screen Result
- 的外部資源不工作:Full Screen Result
我怎樣才能解決這個問題?也許你們中的一些人知道衝突在哪裏。我的網站主張在此時將EasyUI更改爲其他任何內容,並且我真的想使用jsPlumb,因爲我找不到像這樣強大的工具包。
編輯:
至於有人建議我試圖重寫拖動它部分作品,但並不像我想它。
(function($){
var __old_draggable = $.fn.draggable;
$.fn.draggable = function(){
if(this.hasClass('_jsPlumb_endpoint') || this.hasClass('window')){
return;
}
return __old_draggable.apply(this, arguments);
};
$.extend($.fn.draggable,__old_draggable);
})(jQuery);
部分原因是因爲:
- 終點不再是拖動 - 這是很好的,
- ,但他們不創造新的連接,這是很糟糕。
- 他們不遵循他們所附的窗口。
此外,現在我現在說,EasyUI覆蓋jQuery可拖動,這導致這種奇怪的(對我來說)行爲。可悲的是,我有力量拖動方法的問題是原來的jQuery的方法。所以我很期待其他解決方案,爲我的問題
編輯:我刪除一切EasyUI與拖動和dropable覆蓋和連接它的工作。現在的問題是如何在程序中做到這一點,而不是在easyui腳本中,因爲有人會更新到新版本,一切都將停止工作...
嘗試更改文件的順序,把jsPlumb EasyUI後。 – 2013-03-20 13:43:27
可悲的是,沒有任何區別...嘗試了所有的可能性 – mbochynski 2013-03-20 13:47:28
有一個jsPlumb處理EasyUI的分支。也許這有幫助? https://github.com/KodingSykosis/jsPlumb/commits/master – koppor 2013-05-04 13:08:32