2011-12-09 147 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