我想在图像中创建一个部分,单击该按钮时它将发出警报。我知道有很多方法可以在图像上创建部分,但是我想这样。 opacity属性和cursor属性似乎在IE9上不起作用,因为当我将鼠标悬停在该区域上时,它不显示指针光标,并且当我单击该部分时,它也不会发出警报。但这可以在其他浏览器上正常工作。谁能解释为什么会这样?

$(window).load(function () {
  var myImg = document.getElementById("myImg");
  var myDiv = document.createElement("div");
  myDiv.style.position = "absolute";
  myDiv.style.width = "200px";
  myDiv.style.height = "200px";
  myDiv.style.top = "20px";
  myDiv.style.left = "20px";
  myDiv.style.position = "absolute";
  myDiv.style.cursor = "pointer";
  myDiv.style.border = "2px solid red";
  myDiv.style.opacity = 0.3;
  document.body.appendChild(myDiv);
  myDiv.onclick = function () {
    alert("hi");
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<img id="myImg" src="http://myartzine.com/wp-content/uploads/2013/10/Gtelaviv_05.jpg">

最佳答案

对于游标,我必须告诉您,唯一的跨浏览器语法是:

element {
    cursor: pointer;
    cursor: hand;
}


还有一些有关游标的信息:


  过去,手的价值是
  微软说指针的方式;和
  IE 5.0和5.5仅支持手动。
  因为是游标值
  最常使用的浏览器
  也实行了手。
  
  由于IE 6和7支持指针,
  没有更多理由动手了
  除非旧版IE是您的一部分
  目标观众。


对于不透明度,IE 9接受

    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";


检查http://css-tricks.com/css-transparency-settings-for-all-broswers/

我认为对于onClick事件处理程序,


  默认情况下,在IE9中,依次单击“ Internet选项”>“安全性”选项卡>“ Internet”>“自定义级别”,向下滚动到“脚本”部分(位于底部附近),并在“活动脚本”中将其禁用,因此请选中“启用”。并且,这解决了问题,并且onclick起作用了!!

09-30 08:51