2011-09-28 54 views
1

我創建了一個使用mootools排序來實現拖放功能的表。 在我的表格裏面有一些列有超鏈接和文本框。當我點擊超鏈接/輸入框時,它總是調用像SortComplete的回調。錨點不在mootools中工作Sortables

如何使超鏈接/輸入元素在Sortable.I中工作已嘗試使用Sortable的handle屬性,但是此屬性的問題在於它只需要一個元素。如果必須使用多行的行作爲句柄那麼我需要做什麼?我有沒有希望?

在此先感謝。

回答

0

我能夠通過在domready中添加以下代碼來解決問題,以防止事件冒泡。

document.getElements("a").addEvents({ 
     click: function(e) { 
      if (!e) var e = window.event; 
       e.cancelBubble = true; 
      if (e.stopPropagation) 
       e.stopPropagation(); 
     } 
    }); 
1

這不是真的,你只能使用一個元素作爲句柄。您可以使用handle選項中的CSS選擇器來指定句柄。這就相對於'可排序'(要排序的元素)。

您可排序的項目(如一個<li> HTML元素)內,因此,假設你的手柄是<span>與類my-handle,你可以這樣做:

var mySortables = new Sortables('#list-1', { 
    handle: '.my-handle' 
}); 

我認爲這是整潔解決這個問題這樣的,而不是停止首先不想要的事件傳播。