为什么我不能从IE 7-8中的css类绑定到click事件?

时间:2011-11-23 19:44:24

标签: javascript jquery internet-explorer

为什么这个JavaScript在Internet Explorer 7-8中不起作用?我要做的就是通过使用jQuery按类名选择DIV来为多个DIV连接'click'事件。

适用于Firefox,Chrome,Safari。在IE中,它只能在浏览器模式下工作:IE 9 /文档模式:IE 9标准“。无法在IE 7或8中使用它。

<!DOCTYPE html>
<head>
    <title>IE Click Target Test</title>
</head>
<body>

    <div class="ClickTarget">Button 1</div>
    <div class="ClickTarget">Button 2</div>

    <!-- load jQuery 1.6.4 from CDN -->
    <script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>

    <script type="application/javascript">
        // This works fine in all browsers except IE pre-9. 
        $(document).ready(function () {

          $(".ClickTarget").click(function () {
              alert("If you can see me, it worked!");
          });

        });
    </script>
</body>
</html>
  • 普通免责声明:我不会在这个例子中使用jQuery,但它说明了我使用jQuery 1.6.4的更大解决方案所遇到的问题。 IE通常很古怪,我不得不多年处理它,但这就是生活。

出于某种原因,也许即将到来的假期,我忽略了一些事情。任何想法为什么我不能在IE中注册点击?

4 个答案:

答案 0 :(得分:4)

我认为这是type="application/javascript"代码中的<script> -

  

“text / javascript”是三者都支持的唯一类型   浏览器。但是,您实际上并不需要输入类型。类型   如果是,脚本标记的属性将默认为“text / javascript”   没有特别说明。这将如何影响验证,我不是   当然。但无论如何这真的很重要吗?

从 - Why doesn't IE8 recognize type="application/javascript" in a script tag?

答案 1 :(得分:2)

尝试将script代码的类型属性更改为text/javascript,它应该可以在所有浏览器中正常使用。

答案 2 :(得分:1)

正如Shankar最初所说,这是你的脚本类型不是“text / javascript”

我在IE8中尝试过这个JSFiddle并且对我来说很好。

http://jsfiddle.net/Nna2T/

答案 3 :(得分:0)

这不是答案,但评论不能格式化代码,所以只是一个FYI ......

此:

$(document).ready(function () { 
    ...
});

可以缩短为:

$(function() { 
    ...
});