2013-04-22 2 views
1

я заметил, что.он ("щелчок") не работает на прошивке

$("body").on("click", "#id", function(event) {... 

не работает на прошивке, а

$("#id").on("click", function(event) {... 

работает отлично. Тот же сайт, тот же самый jQuery (последний), тот же DOM. Я не могу использовать последнее, потому что #id добавляется динамически.

Идеи?

+0

[Нет проблем здесь] (http://jsfiddle.net/mblase75/YBxyw/). Возможно, проблема в другом месте вашего кода. Если вы подключите устройство iOS к Mac, вы можете использовать настольный Safari для просмотра ошибок консоли в мобильном Safari: http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/DebuggingSafarioniPhoneContent/DebuggingSafarioniPhoneContent. html – Blazemonger

+0

Я сделал это и всегда отлаживал использование сафари на моем mac. @PalashMondal решил мою проблему. –

ответ

13

Try следующим раз:

$(document).on("click touchstart", "#id", function(event) {... 
+0

все еще не повезло, работает на OSX/safari, но не iOS ... –

+0

Просто любопытно - какой эффект от использования 'document' вместо' body'? –

+0

@ RaphaelJeger: Обновлен код. Посмотрите, работает ли на нем iOS сейчас. –

1

Если вы хотите добавить, нажмите и не использовать сенсорные события, которые вы можете сделать это (хотя оно связано с агентом нюхает):

// Check if it is iOS 
var isiOS = (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true : false); 

if(isiOS === true) { 

    // Store -webkit-tap-highlight-color as this gets set to rgba(0, 0, 0, 0) in the next part of the code 
    var tempCSS = $('a').css('-webkit-tap-highlight-color'); 

    $('body').css('cursor', 'pointer')         // Make iOS honour the click event on body 
      .css('-webkit-tap-highlight-color', 'rgba(0, 0, 0, 0)');  // Stops content flashing when body is clicked 

    // Re-apply cached CSS 
    $('a').css('-webkit-tap-highlight-color', tempCSS); 

} 

Смотри на http://www.texelate.co.uk/blog/post/124-add-a-click-event-to-html-or-body-on-ios-using-jquery/

Смежные вопросы