好的,我对IE8和jQuery有一个奇怪的问题。请参阅以下代码:
<!DOCTYPE html>
<html dir="ltr">
<head>
</head>
<body>
<input>
<script type="text/javascript" language="javascript" src="jquery.tools.min.js"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$('input').live('blur',function(){alert('blur');});
$('input').live('change',function(){alert('change');});
});
</script>
</html>
按照原样使用代码,我无法在编辑输入字段后启动更改时事件处理程序。然而,如果我注释掉模糊事件处理程序,那么on change就会启动。
IE8为什么要这样做?我应该怎么做才能使模糊和更改在所有浏览器中同时工作?
jQuery工具包括jQuery的旧版本v4.2。这似乎是IE8中的一个错误,破坏了您的预期功能。升级到v1.6.1,然后两个事件都在IE8中触发。我测试了jQuery的旧版本,所有损坏的都在v1.4.3中修复了,所以如果你因为任何原因无法进行主要版本升级,那么希望可以进行次要版本升级。