Попытка (но безуспешно) добавления и запуска события onlick для объекта изображения в мобильном сафари на iphone - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь динамически добавить некоторые объекты в div, а затем программно вызвать событие щелчка первого изображения, когда они все были созданы.Следующий код работает и делает это успешно в Firefox на ПК, но когда я тестирую его на iPhone, я получаю следующую ошибку в окне разработчика -

TypeError: Result of expression 'document.getElementById ("image0"). Нажмите [undefined] не является функцией

Вот мой код -

function processData(data) {        
$.each(data, function(i) {               
    $('<div>').append($('<img>').attr('src', '').attr('id','image'+i)).data('large', this[0]).appendTo('#gallery');
});
$('#gallery div').touchGallery({
    getSource: function() {
    var f = $(this).data('large');
    return f;
}
});
document.getElementById("image0").addEventListener('click', function(){},false);    
document.getElementById("image0").click();  
}

Как я уже сказал, это отлично работает с Firefox.Я предполагаю, что, возможно, существует другой способ инициировать события нажатия на сенсорных устройствах?Или это событие возможно?Я использую TouchGallery для отображения слайд-шоу изображений и вместо того, чтобы показывать галерею изображений, и требую, чтобы пользователи нажимали, чтобы запустить слайд-шоу, я хотел бы автоматически запустить его.

1 Ответ

1 голос
/ 03 апреля 2012

Почему вы не используете jQuery для привязки события клика?

Я думаю, что ошибка в том, что javascript не знает, какой вы используете .click () (хотя firefox явно поддерживает это).

$("#image0").click(function(){}); должен добиться цели.

(или, так как вы добавляете изображения в div галереи после загрузки DOM: используйте $("#gallery").delegate("img", "click", function(event){});)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...