Jquery 单击DIV时排除复选框
我有一个简单的Jquery 单击DIV时排除复选框,jquery,html,css,checkbox,Jquery,Html,Css,Checkbox,我有一个简单的div容器,里面有一个格式化的来显示联系信息。当您单击div时,您将进入页面以显示他们的个人资料。这很好用 但是,有没有办法使复选框仍然可以单击?此时,如果您单击复选框,它就像我单击了父div一样,因此会将您重定向到页面之外。因此,我希望它能够正常工作,但仍然能够单击复选框 我有下面的模型 HTML PS窗口。location在CodePen示例中不起作用(他们已禁用页面重定向),但这正常工作,并且会重定向您。事件对象有一个target属性,该属性引用事件起源的元素(实际单击的元素
div
容器,里面有一个格式化的
来显示联系信息。当您单击div
时,您将进入页面以显示他们的个人资料。这很好用
但是,有没有办法使复选框仍然可以单击?此时,如果您单击复选框
,它就像我单击了父div
一样,因此会将您重定向到页面之外。因此,我希望它能够正常工作,但仍然能够单击复选框
我有下面的模型
HTML
PS窗口。location
在CodePen示例中不起作用(他们已禁用页面重定向),但这正常工作,并且会重定向您。事件对象有一个target
属性,该属性引用事件起源的元素(实际单击的元素)。因此,如果原始元素是复选框,则可以跳过事件逻辑的其余部分,如下所示:
// did not click on a checkbox
if(!$(e.target).is(':checkbox'))
完成JS
$('.contactlist').on('click', function(e) {
if(!$(e.target).is(':checkbox')) {
var token = $(this).data('token');
window.location.href = 'contact.php?token=' + token;
}
});
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。问题中的代码肯定是最有帮助的。要正确回答大多数问题,您不一定需要指向“工作”代码的链接。太好了,这非常有用!!非常感谢。当系统允许时,我将标记为已接受的答案。
// did not click on a checkbox
if(!$(e.target).is(':checkbox'))
$('.contactlist').on('click', function(e) {
if(!$(e.target).is(':checkbox')) {
var token = $(this).data('token');
window.location.href = 'contact.php?token=' + token;
}
});