IE下onchange事件不立即执行

  做前端开发免不了为浏览器的兼容而劳神,所以坚持把发现的浏览器兼容问题做做总结,是很有意义的。

比如IE8及以下的浏览器的onchange事件实在该控件失去焦点之后才执行的,也就是要点一下空白的地方,才能执行。解决办法很简单,改成onclick事件就好了。

来看个例子:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<input type="checkbox" onchange="say()"/><label>点这里选择勾选</label>
</body>
<script>
    function say() {
        alert("successfully selected!");
    }
</script>
</html>

在IE8及以下的浏览器中,点击勾选之后,必须点击一下空白的区域才会弹出successfully selected!,解决的办法呢就是把onchange="say()",改成onclick="say()"就OK啦!

原文地址:https://www.cnblogs.com/pbnull/p/4567233.html