我编写了一些代码,以便我可以拖动一个对象,但最终我希望将它放在一个特定的对象上,然后调用一些函数。
当我不知道将哪个实际对象放到它上面时,如何向目标对象添加一个侦听器?
答案 0 :(得分:0)
我强烈建议使用jquery ui draggable和droppable。没有必要为此重新发明轮子!
答案 1 :(得分:0)
过去我有几种方法可以解决这个问题。它们都依赖于光标在外面你要拖动的元素。
首先,您可以在文档级别定义mouseup
事件处理程序,并确定哪个元素是事件的目标。该元素将是您的可拖动项目被删除的元素,您可以从那里处理该事件。
其次,您可以为每个可放置区域定义mouseup
事件处理程序。这样可以更轻松地自定义处理程序。
请记住,这两种解决方案都依赖于光标位于您拖动的元素之外。否则,事件的目标将始终是您要拖动的元素。
答案 2 :(得分:0)
以简单的方式,您必须在mousemove上附加一些功能。此函数必须绕过所有dom元素并找到您的元素。但它是DOM,而且它很长。你必须缓存elemetns位置,它会没事的。
答案 3 :(得分:0)
你是否只想在DOM元素上有一个'drop'事件,但是你认为你需要关心被丢弃的东西?
我对类似问题的初步处理方法是从'drop'开始,而不是拖拽,但发现'ondrop'事件不是非常便携,这意味着我应该使用像jQuery这样的框架。参见:
请参阅此处了解有关演示的jQuery UI框架方法:
请参阅此处,了解面向框架的方法,并对该主题进行一些讨论: