我创建了一个基本的行单击并拖动选择功能。但问题是点击并拖动列可以打开和关闭它们。我正在寻找某种类型的return false
或stopPropagation
,但我无法让它们起作用。
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');
}