HTML/CSS

IE下radio/checkbox的change事件失效

阿里云

今天写一个全选功能,在 chrome 和 firefox 下测试都正常实现效果,到了 ie 下死活没效果。一番周折,测试发现在 ie 中勾选了以后还要点击其他位置才会触发 onchange 事件。这种问题呢,有两种方式可以解决,用 onclick 事件代替或者用 onpropertychange 事件代替,Jquery 中也是有这种问题。

  1. $("#radioOne").change(function(){ alert(1); });
也想出现在这里?联系我们
创客主机

在 FF 下正常,但在 IE 中不能在点击了 radio 后立即弹出对话框。所以,在 js 中判断浏览器,然后使用 click,就可以让 change 像 select 那样,一旦值改变就立即触发事件。

  1. $(function () { if ($.browser.msie) {
  2.           $('input:radio').click(function () { this.blur(); this.focus(); });
  3.     } });

原理是利用 click 事件立即触发的原理,让 radio 的值改变后,立即失去焦点,再把焦点重新转移到该复选框上,这样就会立即触发 chang 事件了。

IE 下 radio/checkbox 的 change 事件失效

已有 610 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!