我创建了一个基本的行点击和拖动选择功能。然而,这个问题是在列上点击并拖动来打开和关闭它们。我正在寻找某种类型的return false
或stopPropagation
某种但我无法让这些工作。防止内部div触发外部事件
return false
确实有助于防止文本选择,但它并不妨碍列选择影响行选择。
为了演示,http://jsfiddle.net/sjwcztre/,尝试从右侧选择行 - 没有问题。但尽量选择在那里列文本是存在的行 - 它会靠不住
var isMouseDown = false;
$('.row').each(function() {
$(this).mousedown(function() {
isMouseDown = true;
rowClickHandler(this);
console.log('mdown');
return false;
})
.mouseover(function() {
if (isMouseDown) rowClickHandler(this);
});
$(document).mouseup(function() {
isMouseDown = false;
});
});
function rowClickHandler(obj) {
$(obj).toggleClass('highlight');
}
像http://jsfiddle.net/j08691/sjwcztre/3/? – j08691