ie6不支持图像的实时点击事件

时间:2010-12-30 10:22:19

标签: jquery internet-explorer-6

我正在从ajax

重新审阅此内容
<div id="content">
click on image to close<img id="img_id">
</div> 

关闭div的jQuery代码:

$("#img_id").live('click',function(){
    $("#content").slideUp('fast');
});

点击图片div后关闭。但在IE6中没有任何反应。我不知道为什么IE6不采取实时点击事件,或者问题是图像ID。

点击图片后(IE6中未触发实时点击事件)会是什么原因?

2 个答案:

答案 0 :(得分:0)

它适用于简单测试(见下文),即使使用IE6,我们也会查看特定于您页面的内容。

思想:

1)IE,特别是IE6,有mixing together namespaces问题,您在页面上有任何,其名称为“content”或“img_id”而不是上述内容吗?任何全局变量?字段上的name属性?

2)您是否完全确定在IE上执行live处理程序的代码是? IE在某些其他浏览器没有的语法怪癖方面存在问题(例如,在对象文字中使用尾随逗号),因此您需要确保脚本正确解析。


简单测试,没有DOCTYPE(似乎没有任何区别),没有HTML5垫片等:

HTML:

<html>
<head>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<meta charset=utf-8 />
<title>Test Page</title>
</head>
<body>
  <div id='container'></div>
</body>
</html>​

JavaScript的:

jQuery(function($) {

  display("Setting live handler");
  $("#img_id").live('click',function(){
    $("#content").slideUp('fast');
  });

  display("Loading content from http://jsbin.com/ihuki3...");
  $("#container").load("http://jsbin.com/ihuki3", function(xhr, statusText) {
    display("Done loading, status = " + statusText);
  });

  function display(msg) {
    $("<p/>").html(msg).appendTo(document.body);
  }
});​

Live copy * Live copy with DOCTYPE

答案 1 :(得分:0)

它对我有用。我假设你的图像有src设置?