我想检测用户是否检查或取消选中iframe中的复选框并设置这样的标志。但它似乎没有按预期工作。关于代码错误的任何指针?
jQuery("#frameName").contents().find(":checkbox").bind('change', function(){
val = true;
alert("changed");
});
但我可以通过
检测是否选中了复选框var val = jQuery("#frameName").contents().find(":checkbox").is(":checked");
我希望能够检测复选框上的任何状态更改并设置标记。
答案 0 :(得分:24)
使用checked
DOM属性检查是否选中了复选框。 change
事件始终在更改时触发,即使未选中该复选框也是如此。
jQuery("#frameName").contents().find(":checkbox").bind('change', function(){
val = this.checked; //<---
alert("changed");
});
答案 1 :(得分:3)
绑定到click事件,而不是更改。复选框适用于点击。
编辑:现代浏览器中显示,通过鼠标或键盘更改复选框的状态至少会触发click
和 change
事件。< / p>
请参阅我为验证而构建的jsFiddle demo。除了click
和change
之外,使用键盘还会触发一些与关键相关的事件。