Javascript 使用相同的单击进行编辑或拖动

Javascript 使用相同的单击进行编辑或拖动,javascript,jquery,html,jquery-ui,drag-and-drop,Javascript,Jquery,Html,Jquery Ui,Drag And Drop,我想要这个:有一个div,我可以点击或拖动。如果我点击,我可以立即编辑它(插件使其可编辑)。或者,如果我做一个mousedown mousemove事件,它会拖动 MY JSFIDDLE: 这是我的密码: 这里的问题是,第一次一切都很好。但是第二次,即使我重新绑定函数,它也不知怎么地不起作用 有人知道如何解决这个问题吗 编辑: 我需要这样的代码: obj.on('mousedown', function(){ obj.on('mousemove').. //here the drag

我想要这个:有一个div,我可以点击或拖动。如果我点击,我可以立即编辑它(插件使其可编辑)。或者,如果我做一个mousedown mousemove事件,它会拖动

MY JSFIDDLE:
这是我的密码:

这里的问题是,第一次一切都很好。但是第二次,即使我重新绑定函数,它也不知怎么地不起作用

有人知道如何解决这个问题吗

编辑: 我需要这样的代码:

obj.on('mousedown', function(){
    obj.on('mousemove')..  //here the drag should fire
    obj.on('mouseup') ..  //here the edit should fire (which fires without anything because "draggable: disabled" so just the mousemove need to be edited.
})

这是你想要的吗

我正在使用mouseout事件重置draggable属性。我还移动了mousemove绑定,因此它不会在每次调用mousedown时反弹

当我修改你的代码时,我想知道悬停事件是否更合适?这表明可以拖动元素。当mouseover和mousedown时,您似乎允许拖动,这是draggable的默认状态行为


如果确实需要在其他事件中附加事件,则需要检查该事件是否已附加。使用此链接是否有人在做类似的事情

您使用哪个插件使您的div可编辑?不清楚您在这里想要什么。每次mousedown事件触发时,您都会重新附加mousemove事件。因此,在几次鼠标下移之后,大量的鼠标移动将导致事件一次又一次地发生。你想要这个吗?是的,这正是我的问题。我不想让这个事件发生多次。该插件类似于“媒体编辑器”、zenpen或pen editor。这一切都是一样的,它基本上是一个使div可编辑的编辑器。非常感谢,我将尝试它。它没有像我希望的那样工作,我需要的是“MouseDown”事件,在这个事件中是“MouseMove”和“MouseUp”事件。我已经编辑了我的主要帖子,这样你们就可以明白我的意思了。我想小提琴是不变的。按现有方式嵌套事件不太可能有用。每次鼠标向下移动时,都会附加一个新事件。我修改了我的答案。真的想知道你是否可以使用悬停事件?是的,但必须有一个解决方案。。我认为我的JSFIDLE中唯一的错误是事件的重新附加,因此事件会像您所说的那样触发10000次(无止境循环)。我需要把它扔掉,作为建议。
obj.on('mousemove', function() {
    // Do stuff while moving.
});

obj.on('mouseout', function() {
    // sets draggable false
});