【发布时间】:2015-05-15 07:38:54
【问题描述】:
我的页面上有以下 html:
<div class="group-one" >
<p><span id="handle" draggable="true">::</span> click me</p>
</div>
<div class="group-two" draggable="true">
<p>I should be dragged</p>
</div>
现在我想要的是,当#handle 被拖动时,拖动事件应该委托给div.group-two,移动光标下的元素也应该是div.group-two。这是我尝试过的:
$('#handle').mousedown(function(e){
$('.group-two').trigger(e);
});
$('#handle').on('dragstart', function(e){
$('.group-two').trigger(e);
});
$('.group-two').on('dragstart', function(e){
console.log('dragestart triggered on group-two');
});
$('.group-two').mousedown(function(e){
console.log("mousedown triggered on group-two");
});
这是jsfiddle。
这里的问题是,虽然事件被委托给div.group-two,但是在移动光标下被拖动的元素仍然是span#handle。
现在我的问题是,是否可以以这种方式委派拖动?如果是,那么任何提示如何实现它。
请注意,我使用的是普通 jQuery 而不是 jQuery UI。
【问题讨论】:
标签: javascript jquery drag event-delegation