Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 单击DIV时排除复选框_Jquery_Html_Css_Checkbox - Fatal编程技术网

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;
    }
});