2013-09-23 2 views
0

Я разрабатываю мобильное веб-приложение и замечаю, что пользовательские события javascript не работают на моем iPad с ios 5. Такая же модель ipad с ios 6 работает безупречно, а текущий Safari также обрабатывает код правильно. Вот мой тест:Пользовательские события javascript на webkit ios 5 не работает

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?

ответ

1

У вас отсутствует третий параметр, может ли это вызвать ошибку на iOS5? Также может использоваться initEvent:

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

Спасибо! Похоже, что вы немного разбираетесь в своем коде. Я вижу, что это старомодный способ отправки событий, разница здесь документирована: https://developer.mozilla.org/en-US/docs/Web/API/document.createEvent – BBnyc

+1

@BBNyc это правда. Но в то время, когда iOS5 был выпущен, этот способ не был устаревшим :). – zvona