Приведенный ниже код отлично работает в 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>
Обновление: обсуждаем, стоит ли использовать "onmouseup" или что-то вроде ниже [ Спасибо Андрес !! Я не могу добавлять комментарии]
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);
}