jsPlumb:如何在“mouseup”事件完成后获取一个元素

时间:2014-06-20 15:17:00

标签: javascript jquery jsplumb

$(document).on('mouseup', '.agent-wrapper', function(info){
  console.log(info);    // It works fine
  console.log(this);    // It works fine too
});

.agent-wrapper是所有jsPlumb对象的元素包装器。

$(document).on('mouseup', 'div.node', function(info){
  console.log(info);    // It doesn't work
  console.log(this);    // It doesn't work too
});

如何在" mouseup"的jsPlumb-wrapper中接收元素节点?事件

HTML

<div id="flume-AGENT-1" class="agent-wrapper" index="0">
  <div data-nodetype="source" class="w node jsplumb-draggable jsplumb-droppable">
    Element 1
    <div class="ep"></div>
  </div>
  <div data-nodetype="source" class="w node jsplumb-draggable jsplumb-droppable">
    Element 2
    <div class="ep"></div>
  </div>
</div>

当我&#34; mousedown&#34;一个光标放在第一个元素和&#34; mouseup&#34;它在第二个元素 - 我无法在JavaScript中获得元素目标。 ...如何获得event.target。

似乎jsPlumb取消绑定与其包装内的元素相关的所有事件......但我需要接收此元素。怎么样?

1 个答案:

答案 0 :(得分:1)

似乎你绑定了那些&#34; .node&#34; div使用jsPlumb 目标方法,这些方法将覆盖jQuery鼠标向上和鼠标按下。因为jsPlumb处理特定&#34; .node&#34;的连接创建。鼠标事件上的div。

因此,您无法在同一元素上绑定jsPlumb和jQuery事件,您需要像在#34; .agent-wrapper&#34;上那样在父节点上处理这些事件。