为什么我不能从IE 7-8的css类中绑定一个点击事件?

Why can't I bind to a click event from a css class in IE 7-8?

本文关键字:一个 事件 绑定 不能 IE css 为什么      更新时间:2023-09-26

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

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

<!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中注册点击吗?

我想是<script>标签中的type="application/javascript" -

"text/javascript"是三者都支持的唯一类型吃嫩叶的动物但是,实际上不需要添加类型。类型如果是,脚本标签的属性将默认为"text/javascript"没有另外指定。这将如何影响验证,我没有确定。但这真的重要吗?

From -为什么IE8不能识别type="application/javascript"在脚本标签中?

尝试将script标签的type属性更改为text/javascript,它应该在所有浏览器中都能正常工作。

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

我在IE8中尝试了这个JSFiddle,并为我工作得很好。

http://jsfiddle.net/Nna2T/

这不是一个答案,但注释不能格式化代码,所以只是一个供参考…

:

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

可以简写为:

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