iOS jquery .live问题?

时间:2013-05-06 15:50:17

标签: jquery iphone ios

我正在使用jquery 1.8.3而我正在进行.live调用

   $('.ui-state-default').live('click', function(e) {
        $(".upload").show();
    });

使用我的iPhone iOS 6.1我无法点击此dom元素。

为什么iOS不了解.live?

我将代码转换为此。

$('.ui-state-default').bind('click', function(e) {
    $(".upload").show();
});

但现在我还有另一个问题,是否有办法让iOS了解第一段代码?

2 个答案:

答案 0 :(得分:2)

嗯,在jQuery的新版本中,live已被删除,所以我只是习惯于以不同的方式使用它。

$('body').on('click', '.ui-state-default', function(e) {
    $(".upload").show();
});

body可以替换为包含.ui-state-default元素的文档就绪中保证存在的任何内容。身体永远存在,但如果你愿意,也许你可以使用更具体的东西。

另外,你可能真的不想在iOS上使用'click','touchstart'可能是更好的选择。 (但是做一些研究,而不仅仅是把它放进去!)

答案 1 :(得分:1)

使用.on(),因为弃用了.live(),绑定点击并点击事件:

$(document).on('click tap', '.ui-state-default', function(e) {
    $(".upload").show();
});