在可拖放的UL/LI中编辑输入

Editing an input inside a drag and droppable UL/LI

本文关键字:LI 编辑 输入 UL 拖放      更新时间:2023-09-26

我知道这是一个相当具体的问题,但我要去做…

我正在使用Orangoo的工具制作可排序的列表。这个表格工作得很好。请看他的例子:http://orangoo.com/AJS/examples/sortable_list.html

但是,如果我想添加输入或其他表单元素,我就不能单击输入。鼠标将在那里停留一秒钟,然后消失,因为ondrag事件处理正在接管。

我不想从LI中删除拖动事件,因为我确实想重新排序输入元素。相反,我想要一种方法来保持焦点,或者在单击输入时忽略ondrag处理。我不知道如何重写ondrag事件。如果有人能帮忙,我将不胜感激!

当用户单击输入时,需要阻止为拖放操作触发事件。只需处理mousedown事件并使用event. stoppropagation()。

的例子:

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

谢谢你的回答!我最终放弃了,只是关闭了事件处理程序。

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