2012-02-08 57 views
3

我想給可愛的情侶jQueryUI的的拖動和可選擇的組合射擊可選;)jQuery的可拖動避免在使用點擊

我想要做的事:

  • 的div可以用點擊來選擇。這將顯示應用...也許CSS邊框/陰影選定的股利。只是爲了突出它。
  • 可以使用JQueryUI的可拖動來拖動相同的div。

使用的ryan coughlin's code的部分,我在此代碼: http://jsfiddle.net/rYgXE/

晴還好。問題是,使用CLICK可能不再突出顯示div(在這種情況下爲css陰影)。只有DRAG觸發器突出顯示給div。也無法使用點擊選擇(突出顯示)The running sample of ryan coughlin's code

我真的不明白髮生了什麼,但似乎可拖動的代碼阻止可選代碼工作。

任何解決方案/想法?

THX:d

+0

你不使用Click事件。 – Hadas 2012-02-08 10:36:28

+0

我正在努力避免。其實我不知道可選擇性會比單純的點擊事件更有利於我(未來)。 – rooivalk 2012-02-09 03:45:07

+0

在這裏看到我的解決方案:https://stackoverflow.com/questions/25419263/propagation-issue-in-nested-jquery-ui-selectable/46819120#46819120 – 2017-10-18 20:59:45

回答

3

你只需要添加此功能

$(".selectable div").click(function() { 
    if (!$(this).hasClass("ui-selected")) { 
     $(this).addClass("ui-selected").siblings().removeClass("ui-selected"); 
    } 
}) 

這裏是工作提琴http://jsfiddle.net/rYgXE/2/

+0

謝謝xepterx。 – rooivalk 2012-02-09 03:52:01

+0

oww ok然後。除了一般的感謝之外,我沒有在stackoverflow中使用禮儀。 – rooivalk 2012-02-10 09:31:54

1

問題:
jQuery的可選腳本不僅結合鼠標點擊而且還有mouseDrag。
我們可以使用可選的腳本,通過拖動鼠標到其他項目來選擇多個項目。(見demo example並拖動鼠標)

拖動腳本在拖動一個項目(或)元素頁。
現在,當您添加腳本拖動......這也捕捉鼠標點擊(確定相對位置)和mousedrag(拖動項目)事件與可選擇的腳本發生衝突......

解決方案:
如果你的問題只是突出你正在拖動的元素,你可以通過編寫一個簡單的javascript函數來選擇,如http://jsfiddle.net/rYgXE/6/

+0

我禁用了jqueryui.js文件中可選的_mouseDrag部分。我希望點擊可選,並從拖動拖動。雖然不起作用。嗯,我認爲每個人都是對的,簡單點擊就行。 – rooivalk 2012-02-09 03:47:57

0

這是jquery ui中的已知問題#8106。解決方法是使用套索(即選擇元素外包裝箱,並用盒子蓋住它)

一些人認爲這是一個功能,而不是一個問題,在https://bugs.jqueryui.com/ticket/8106

錯誤報告)。

另一個解決方法是,如果你只想要有限的可選擇性(像我一樣)是不使用jquery selectable,但是將這個js添加到你想要選擇的div中。它通過點擊jQuery的調整大小圖標,當射擊:

$("#"+id+">.ui-icon-gripsmall-diagonal-se").click(function(ev){ 
        $(".ui-selected").removeClass("ui-selected"); 
        $(this).parent().addClass("ui-selected"); 
       }); 

用CSS,如:

div.ui-selected {border: 1px solid red;}