0
鉴于DOM与一些div:为什么mouseup事件不会触发子元素?
<div id="main">
<div id="graph">
</div>
<div id="devices">
<div class="device">
Display
</div>
<div class="device">
Server
</div>
<div class="device">
Player
</div>
</div>
</div>
<br/>
<div id="indicator1" class="indicator">
indicator1
</div>
<div id="indicator2" class="indicator" style="background : aqua;">
indicator2
</div>
带班“设备”的div有以下“鼠标按下”处理程序:
function itemChoose(evt) {
item = this;
inPageX = evt.pageX;
inPageY = evt.pageY;
$(item).css('position', 'relative');
$('#main').on('mousemove', drag);
$('#graph').on('mousemove', show2);
$('#main').on('mouseup', clear1);
$('#graph').on('mouseup', clear2);
}
这个处理应该允许移动“设备”元素由鼠标。移动的过程可以,但'mouseup'事件只会触发'#graph'div的父'#main'div。问题是:为什么'mouseup'事件没有针对'#graph'div引发?
示例草图位于:https://jsfiddle.net/beem/w49L14t3/1/。
这里,当'#main'或'#graph'div分别触发'mouseup'事件时,2个底部'指示符'div显示'清除'文本。 Chromium 47.0.2526.73和Firefox 43测试过。
尝试更改注册事件侦听器的顺序。 $('#graph')。on('mousemove',show2); $('#graph')。on('mouseup',clear2); $('#main')。on('mousemove',drag); $('#main')。on('mouseup',clear1); – Mahesh