2011-12-09 82 views
1

我知道這是一個相當具體的問題,內部的輸入,但是我爲它去......編輯拖動和投擲的UL/LI

我使用Orangoo的工具,使排序列表。表單工作正常。看他的例子: http://orangoo.com/AJS/examples/sortable_list.html

但是,如果我想添加輸入或其他表單元素,我不能點擊輸入。鼠標將在那裏一秒鐘,然後消失,因爲ondrag事件處理的東西正在接管。

我不想從LI中刪除拖動事件,因爲我確實想重新排序輸入元素。相反,我想要一種方法來保持焦點或忽略ondrag處理,如果我點擊一個輸入。我不知道如何重寫ondrag事件。如果有人能夠幫助,我將不勝感激!

回答

0

謝謝回答!我最終放棄了,只是關閉了事件處理程序。

<input id="inputId" name="inputName" value="some value" onmousedown="AJS.dnd.removeDragAble(this.parentNode);" onblur="AJS.AEV(this.parentNode, 'mousedown', this.parentNode._start_fn);" /> 
2

當用戶點擊輸入時,您需要停止觸發事件以進行拖放操作。只需處理mousedown事件並使用event.stopPropagation()。

例子:

document.getElementById("input1").onmousedown = (function(e) { 
    e.stopPropagation(); 
}); 
+0

太棒了!現在我需要修復模糊處理。 – naugtur

+0

如果您發現修補程序,請告訴我!我在上面做的工作,但有時會導致起始拖動位置關閉。我假設開始fn命令的bc。現在還不夠重要。 – phpmeh