JQuery触发Checkbox的change事件
2012-12-11 19:33
543 查看
JQuery触发Checkbox的change事件
早上要做一功能,checkbox被选中时,显示隐藏的层,取消选中时,再隐藏选中的层。初始代码如下:
$(function(){
$("#ischange").change(function() {
alert("checked");
});
});
捣腾了半天,竟然一点反应都没有。百度了下,有高人指出上面几行代码在Firefox等浏览器中可以正常运行,即你选中复选框或取消复选框都会弹出一个对话框,但是在IE中却不会正常执行,即选中或取消复选框不会立即弹出对话框。
必须在选中或取消复选框之后再点击除了复选框之外的任何一个地方,据说是因为IE会等到复选框失去焦点之后才会触发change事件。
改进之后的代码如下:
$(function(){
if ($.browser.msie) {
$('input:checkbox').click(function () {
this.blur();
this.focus();
});
};
$("#ischange").change(function() {
alert("checked");
});
});
补充:当改变复选框的值后,IE在等待失去焦点,但是click事件是立即触发的,因此利用click事件让复选框失去 焦点,这样就会触发chang事件了,然后再把焦点重新转移到该复选框上。
如果是radio,将checkbox换成radio即可。
相关文章推荐
- JQuery触发radio或checkbox的change事件
- JQuery触发Checkbox的change事件
- jquery radio/checkbox change 事件不能触发的问题
- JQuery触发radio或checkbox的change事件
- 在IE中关于Radio和Checkbox在JQuery中的change事件的立即触发
- JQuery触发Checkbox的change事件
- JQuery Checkbox的change事件
- 有关下拉框jquery里的change事件无法触发的问题
- 关于jquery hashChange反复添加hash之后造成多次触发事件的bug
- jquery 怎么触发select的change事件
- checkbox onchange 事件 ie 下 不能及时触发
- jquery checkbox (选中和取消选中事件on("change"))做笔记
- ExtJs中checkbox的change事件是根据lastValue的值来触发的
- jQuery radio change事件 checkbox选中事件
- jquery checkbox选中、改变状态、change和click事件
- jquery触发select的change事件失效
- jquery嵌套后会触发2次点击事件, jquery的unbind就是卸载这个点击事件的.
- JQuery一些事件text、checkbox、radio、select
- jquery 触发 mouseup 事件
- 解决jquery设置radio选中效果后,再次选中不触发事件问题