webkit iOS 5上的自定义Javascript事件不起作用

Posted

技术标签:

【中文标题】webkit iOS 5上的自定义Javascript事件不起作用【英文标题】:Custom Javascript events on webkit iOS 5 not working 【发布时间】:2013-09-23 16:11:27 【问题描述】:

我正在开发一个移动网络应用程序,并注意到自定义 javascript 事件在我的装有 ios 5 的 iPad 上不起作用。装有 iOS 6 的同型号 iPad 可以完美运行,当前的 Safari 也能正确处理代码。这是我的测试:

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);

【讨论】:

谢谢!用你的一些代码谷歌搜索,我发现这是一种老式的事件调度方式,差异记录在这里:developer.mozilla.org/en-US/docs/Web/API/document.createEvent @BBNyc 这是真的。但是在 iOS5 发布期间,这种方式并没有被弃用:)。

以上是关于webkit iOS 5上的自定义Javascript事件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

iOS 上的自定义模板系统

iOS 上的自定义 UIPresentationController

iOS - 未应用我的 UICollectionViewCell 上的自定义

在 iOS 上的 branch.io 上的两个应用程序中支持相同的自定义域

iOS:设备上的自定义位置

iOS 上的自定义 EQ AudioUnit