我编写了一个jquery函数来绑定mousedown上的mouseover事件,以获得点击和拖动选择td的效果。我在表格行中有10个td。这段代码的问题是,如果我想从1到5选择td并且我在td1上进行mousedown而将鼠标悬停到td5,则td1不会被选中(我正在检查/取消选中一个复选框)而是从td2中选择它TD5。我如何解决它? 任何建议都表示赞赏。
以下是代码:
$("#custom-interval-tbl td").mousedown(function() {
$('#custom-interval-tbl td').bind('mouseover',function(){
if($(this).find('input:checkbox').is(':checked')) {
$(this).find('input:checkbox').attr("checked", "");
$(this).css({background:"white"});
} else {
$(this).find('input:checkbox').attr("checked", "checked");
$(this).css({background:"#6D7B8D"});
}
});
});
由于
答案 0 :(得分:0)
分配mouseover
事件时,它永远不会被鼠标已经关闭的事件激活。 (由于鼠标已经结束,因此永远不会被调用。)
您可以强制在您已选择的TD上调用此功能。
$("#custom-interval-tbl td").mousedown(function() {
$('#custom-interval-tbl td').bind('mouseover',function(){
if($(this).find('input:checkbox').is(':checked')) {
$(this).find('input:checkbox').attr("checked", "");
$(this).css({background:"white"});
} else {
$(this).find('input:checkbox').attr("checked", "checked");
$(this).css({background:"#6D7B8D"});
}
});
$(this).mouseover(); // This part will call the mouseover event on your clicked TD
});