onclick()不在safari中工作

use*_*091 2 html javascript safari onclick

下面的代码在IE7上工作正常,但在Safari(5.0.5)中没有.如果可能的话,我想避免使用jQuery.目标是使此功能在iPad上运行,但现在正在使用桌面游戏进行测试.如果您有任何关于在IE和Safari上工作的想法,请告诉我.

<div id="test" ></div>
<script>
  function attachCallback(node) {
    node.onclick = function() {   
      alert("coming here");
    } ;
  }  
  var retrybutton = document.createElement("img");
  retrybutton.src = "test.png";
  retrybutton.alt = "retry";

  retrybutton.setAttribute("id","retrybutton");
  attachCallback( retrybutton ) ;

  var a = document.getElementById("test");
  a.appendChild(retrybutton);
  // testing without using retrybutton
  var test = document.getElementById("retrybutton");
  test.click();
</script>
</body></html>
Run Code Online (Sandbox Code Playgroud)

更新:辩论是否与"onmouseup"或类似下面的东西[ 谢谢Andres !! 我无法添加评论]

 if (Prototype.Browser.IE) {
   document.getElementById("retrybutton").click(); 
 } else { // from question link in comment
   var event = document.createEvent("HTMLEvents");
   event.initEvent("click", true, true);
   document.getElementById('retrybutton').dispatchEvent(event);
 }
Run Code Online (Sandbox Code Playgroud)

gil*_*ly3 6

在Safari中,该click()方法(模拟鼠标单击)无法应用于<img>.但是,它可以应用于<input type="image">.你能用吗?