2013-09-23 54 views
0

我正在开发一个移动web应用程序,并注意到自定义javascript事件不适用于我的iPad和ios 5.同样型号的ipad与ios 6完美搭配,而且当前的Safari也能处理代码正确。下面是我的测试:webkit ios 5上的自定义JavaScript事件不起作用

yoo = function (event) { 
    alert("event received!"); 
} 

window.addEventListener("go", yoo); 
var event = new Event("go"); 

window.dispatchEvent(event); 

http://jsfiddle.net/BygSy/7/

我试图使用jQuery绑定/触发功能来解决此---那也不能工作。

任何提示?在ios 5的webkit上绑定和分派自定义事件时,我是否缺少一些基本需要做的事情?

回答

1

您错过了第三个参数,是否会导致iOS5上的错误行为?也可以使用initEvent:

window.addEventListener("go", yoo, false); 
var evt = document.createEvent('Event'); 
evt.initEvent("go", true, true); 
window.dispatchEvent(evt); 
+0

Thanks!用你的一些代码搜索一下,我发现这是一种老式的派发事件的方式,差异记录在这里:https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent – BBnyc

+1

@BBNyc这是真的。但在iOS5发布的时候,这种方式并没有被废弃:)。 – zvona