gpt4 book ai didi

jquery - 如何在特定条件下不执行 jQuery 函数

转载 作者:行者123 更新时间:2023-12-01 06:29:17 24 4
gpt4 key购买 nike

我有一个 2 层嵌套容器(见下文)。

当我单击 .summary 内的任意位置时,详细信息将按其应有的方式显示。当我选中复选框时,我不希望透露详细信息。所以我尝试加入一些全局变量来控制slideToggle()。它可以在 IE 中运行,但不能在 Firefox 中运行。

是否有办法在您选中该框时阻止 SlideToggle() 执行?它应该在所有其他时间执行。

* HTML *

<div class="summary">
<div>Data 1</div>
<div>Data 2</div>
<div class="col_5"><input type="checkbox" /></div>
</div>
<div class="details">Detailed information</div>

* JavaScript *

$(document).ready(function(){

var boxChecked = 'N';

$('input:checkbox').change(function() {

$(this).closest('div.col_5').html('Yes');

boxChecked = 'Y';

});

$('.summary').click(function(e){

if (boxChecked == 'N') $(this).next('.details').slideToggle('slow');

boxChecked = 'N';

});

});

这几乎就像 Firefox 中 .click() 的执行优先于 .change() 一样。

最佳答案

最好在复选框上输入名称和 ID,但使用您提供的代码,您可以简单地阻止点击事件冒泡,如下所示:

$('input[type=checkbox]').click(function (event){
event.stopPropagation();
})

<强> jsFiddle example

关于jquery - 如何在特定条件下不执行 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9661097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com