。对(“点击”)不会在iOS上运行(.on(“click”) does not work on iO

2019-08-31 20:13发布

我注意到,

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

在iOS上,而无法正常工作

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

完美的作品。 同一部位,同样的jQuery(最新的),相同的DOM。 我不能使用后者,因为#ID动态添加。

想法?

Answer 1:

尝试如下一次:

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


Answer 2:

如果你想添加点击不使用触摸事件,你可以做到这一点(虽然它不涉及代理嗅探):

// 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/



文章来源: .on(“click”) does not work on iOS
标签: jquery ios click