关于IE下checkbox无法立即响应onchange

1,364次阅读
没有评论

之前遇到一个问题,点击checkbox,无法响应onchange事件。

例如<input type="checkbox" onchange="alert(this.value)" value="haha">,在IE下必须点击一下页面空白的地方才可以激活onchange事件
下面是摘自别人的解决方法:

1、<input type=checkbox onclick="alert(this.value)" value=huerreson>
2、<input type=checkbox onpropertychange="alert(this.value)" value=huerreson>

这两种方案对我的案例不适用,所以我想到了第三种方案:

cellObj.childNodes[0].onchange=function(){getEditExp();};

cellObj.childNodes[0].onclick=function(){if(this.type=="text"){tabIn(this)}else if(this.type=="checkbox"){this.blur();}};

大概意思就是如果这个元素是是checkbox,当点击的时候让它失去焦点,自然会随之响应onchange事件咯,原理很简单,但还是很受用对吧...^^

事实证明我的问题得到圆满解决

正文完
 

公众号