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 2 3 | $(function () { if ($.browser.msie) { $('input:radio').click(function () { this.blur(); this.focus(); }); } }); |
原理是利用click事件立即触发的原理,让radio的值改变后,立即失去焦点,再把焦点重新转移到该复选框上,这样就会立即触发chang事件了。
Mac中卸载重新安装mysql的方法 与$_SESSION的key值同名的变量会覆盖$_SESSION中key的值