jQuery事件监听器在IE 7/8中不起作用
问题描述:
这个问题有点棘手。我的代码动态加载表中的表行然后将事件附加到所有表格单元在IE7/8中不起作用。但有时它确实没有明显的原因。jQuery事件监听器在IE 7/8中不起作用
这里是一个小例子: http://jsbin.com/ivarus/6/edit
这是我在做什么我的应用程序的简化版本
以下是具体步骤摄制: 1)打开IE浏览器,并设置为IE7/8来自开发工具(如果您已经在运行IE8,则不需要) 2)导航到http://jsbin.com/ivarus/6/edit 预期:在输出部分附加到TD工作的点击 实际上:事件监听器只有在按下“运行脚本”
在所有其他浏览器(IE9 +,Chrome,FF)中,此功能立即生效。为什么?我做错了什么?我应该寻找替代方法吗?
答
在脚本运行之前,您需要等待文档就绪事件。像这样包含你的代码。
<script>
$(function()
{
//your code here
});
</script>
答
- 在追加的问题()不起作用在旧IE
if (($.browser.msie) &
(($.browser.version == '6.0') || ($.browser.version == '7.0')))
{
var oldHtml = $('#select').html();
$('#select').html(oldHtml + appendInput);
}
你遍历数组'9',而它只有'0'和'1'。问题可能是JSbin中的autoupdating在旧的IE版本中不起作用。 – adeneo 2013-05-09 09:53:28
那么,它适用于我在IE7和IE8如果我把你的代码从JSBIN保存到HTML页面,并在我的机器上运行没有任何问题。没有延迟。 – 2013-05-09 09:56:29
这并不奇怪,IE7/8不支持其他浏览器。我认为这是IE7/8上运行脚本的安全问题,这些脚本可能包含特定来自不同域的不安全内容(仅IE7/8知道),而且它们对错误非常敏感,无论它们是否是语法错误。 – Rohit416 2013-05-09 10:36:03