我正在使用jQuery构建一个app.net页面进行DOM操作(JS Fiddle here)。当我点击表格上的某个<td>
时,它就成了将来操作的目标。我想添加代码,以便在表格外的任何地方点击都会取消定位<td>
(意味着后台的点击应该作为取消选择事件)。
this question的答案对我没有帮助,因为:
答:我不想使用stopPropagation()
,因为this article加上我的代码中有许多点击事件处理程序,我将不得不停止传播)。
B.我在页面上有其他元素(按钮,文本输入字段),不应该作为取消选择事件。
答案 0 :(得分:1)
如果没有更多细节,似乎在目标细胞上切换一个活跃的类会做你想要的。
var $table = $('#myTable').on('click', 'td', function(){
$table.find('.active').removeClass('active');
$(this).addClass('active');
});
然后,要删除使用表外的事件,只需检查目标是否在表
中$(document).click(function(e){
if(!$(e.target).closest('#myTable').length){
$table.find('active').removeClass('active');
}
});