我在写一个jQuery函数,它将选择/取消选中所有复选框。目前看起来最好的方法是使用.toggle()
方法。不幸的是,我无缘无故获得了奇怪的效果。一旦DOM被加载,所选元素就会消失。我发现的唯一工作解决方案是使用.show()/。fadeIn()函数。我使用.click()
事件和几个if语句解决了这个问题(如果我可以使用.toggle();
,这似乎是不必要的)。我在浏览器开发人员的工具控制台中没有收到任何错误或警告。第一个.toggle()函数会在DOM加载后触发。这里是我使用的代码:加载HTML/jQuery切换()元素消失
编辑:哎呀。我发布了错误的代码。现在已经修复了。
HTML:
<input type="button" class="checkboxCheck" value="check all" disabled="disabled" />
<input type="button" class="addCheckbox" value="Add checkbox" />
的jQuery:
$('input:button.addCheckbox').click(function(){
$(this).after('<br /><input type="checkbox" />');
if($(this).prev().attr('disabled')=='disabled'){
$(this).prev().removeAttr('disabled');
};
});
$('input:button.checkboxCheck').toggle(function(){
alert(0);
},function(){
alert(1);
});
在我工作的这点有使用在所有的网站上没有CSS代码。
为什么会发生这种情况,以后如何避免它?
拨动事件被弃用的jQuery 1.8和1.9中删除。 http://api.jquery.com/toggle-event/ – j08691