基于子元素的Jquery.not()
我在一个表中有一列专门用于评论。我需要的是,当点击单元格时,会出现一个弹出窗口,允许用户添加评论。单元格内将包含现有注释和删除注释的方法。当您单击删除注释时,您不应看到弹出窗口 我试过:基于子元素的Jquery.not(),jquery,html,onclick,Jquery,Html,Onclick,我在一个表中有一列专门用于评论。我需要的是,当点击单元格时,会出现一个弹出窗口,允许用户添加评论。单元格内将包含现有注释和删除注释的方法。当您单击删除注释时,您不应看到弹出窗口 我试过: $("td").not('div').click(function(){ $('#popup').show(); }); //was hoping this would mean if td is clicked, and clicked area is not a div $("div").c
$("td").not('div').click(function(){
$('#popup').show();
}); //was hoping this would mean if td is clicked, and clicked area is not a div
$("div").click(function(){
$(this).hide();
});
您可以在div
上使用来防止。单击()
事件在DOM树上冒泡:
$("div").click(function(e){
e.stopPropagation();
$(this).hide();
});
您可以这样做
$("td").click(function(e){
if( !$(e.target).is('div') ) {
$('#popup').show();
} else {
$(e.target).hide();
}
});
如果单击的元素不是div,则显示弹出窗口。实际上,您可以使用此命令删除div click处理程序。您可以使用层次选择器添加事件以单击列 由jQuery提供
$('#table td:eq(index)').click(function(){
$('#popup').show();
});
PS:索引是一个数字,取决于您希望单击的关联项