$j('table#thisOne tr:gt(0)').hover(function () {
if ($j(this).next().length != 0) {
$j(this).find('td:not(:first-child)').css("background", "#f60").css("cursor", "pointer");
}
}, function () {
$j(this).find('td').css("background", "").css("cursor", "auto");
});
上面的代码工作正常,即在第2行到第二行和第二列之间悬停。
以下是处理该表的点击事件:
$j('body').delegate("#thisOne tr:gt(0)", 'click', function () {
//I want to do something if second column onward clicked, but not first column
//which is a checkbox for other handler.
});
如果第1列有复选框,我如何区分单击复选框和整行。因为我想在column1和列的其余部分之间使用不同的处理程序。
TIA。
答案 0 :(得分:1)
最简单的方法是利用stopPropagation
。基本上,创建tr click
处理程序,然后为第一列创建更具体的处理程序。像这样:
$('tr').click(function() {
// handler1
});
$('tr .col1').click(function(event) {
// handler2
event.stopPropagation(); // handler1 will not be called now
});