【发布时间】:2015-08-14 21:10:15
【问题描述】:
我有一个具有子跨度的 div,而该子跨度又具有另一个子跨度。 我将父 div 与 mouseDown 事件挂钩,如下所示:
$("." + cellClass).mousedown(mouseDownEvent);
但这也使孩子们与事件挂钩。如何取消绑定孩子或只绑定 div?
我试过了,但它似乎不起作用:
$("." + cellClass).children().unbind();
这不起作用:
function mouseDownEvent(event){
event.stopPropagation();
isMouseDown = !isMouseDown;
var cell = event.target;
selectedCells = []; // reset
selectedCells = addCellToSelection(cell, selectedCells)
}
更新
Serlite 提出的解决方案可以阻止 span 的事件。现在唯一的问题是,如果动作发生在跨度上(即使鼠标在 DIV 内),也不会触发任何事件。考虑到跨度事件已关闭,这是有道理的,但是有没有办法确保无论我是否在 SPAN 上,DIV 的事件都会被触发?
【问题讨论】:
标签: javascript jquery events bind unbind