Ссылка на добавленную привязку не активна на Safari / iPhone - PullRequest
4 голосов
/ 08 марта 2012

У меня есть функция, используемая многими различными частями моего сайта, которая вызывает окно подтверждения.Когда он вызывается, он форматирует поле с различными элементами и добавляет его к телу, вот так ...

$('body').append("<div id=\"confirmation\"><a href=\"javascript:confirmed()\">confirmed</a> <a href=\"javascript:closeConfirm()\">cancel</a></div>");

Теперь это отлично работает для всех, кроме браузера iPhone Safari, который не выглядитчтобы активировать или загрузить якорь в DOM правильно ... он не активен .Это проблема, потому что окно отображается правильно, касание якоря ничего не делает.Console.log доказывает это.

Есть идеи?

Ответы [ 3 ]

4 голосов
/ 13 марта 2012

Вы пытались сделать

$div = $('<div>', { id : "confirmation"});
$aConfirmed =  $('<a>', { href : "#", class : "confirmed", text: "confirmed"});
$aCancel =  $('<a>', { href : "#", class : "cancel", text: "Cancel"});
$div.append($aConfirmed).append($aCancel);
$('body').append($div);

А затем использовать некоторые обработчики событий, такие как (предполагается, что jQuery> 1,7

$(document).on("click", "a.confirmed", function(){
   confirmed();
});

$(document).on("click", "a.cancel", function(){
   closeConfirm();
});
0 голосов
/ 21 марта 2012

Эта особая ситуация была решена путем перемещения якоря, чтобы не перекрывал встроенное видео. Когда привязка была наложена поверх встроенного видео на iPhone - события касания над ним игнорировались в пользу касания для быстрого воспроизведения и воспроизведения события видео .

0 голосов
/ 19 марта 2012

Попробуйте использовать для тестирования что-то кроме тега привязки и посмотрите, работает ли это

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