iOS jquery。实时发布?

iOS jquery。实时发布?,jquery,iphone,ios,Jquery,Iphone,Ios,我正在使用jQuery1.8.3,我正在做一个.live调用 $('.ui-state-default').live('click', function(e) { $(".upload").show(); }); 使用iPhone iOS 6.1,我无法单击此dom元素 为什么iOS不明白,直播 我把代码换成了这个 $('.ui-state-default').bind('click', function(e) { $(".upload").show();

我正在使用jQuery1.8.3,我正在做一个.live调用

   $('.ui-state-default').live('click', function(e) {
        $(".upload").show();
    });
使用iPhone iOS 6.1,我无法单击此dom元素

为什么iOS不明白,直播

我把代码换成了这个

$('.ui-state-default').bind('click', function(e) {
    $(".upload").show();
});
但是现在我有另一个问题,有没有办法让iOS理解.live的第一段代码?

使用.on(),因为.live()已被弃用,请绑定单击并点击事件:

$(document).on('click tap', '.ui-state-default', function(e) {
    $(".upload").show();
});
由于.live()已被弃用,请单击并点击绑定事件:

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

好吧,live在较新版本的jQuery中已经被删除了,所以我已经习惯了以不同的方式使用它

$('body').on('click', '.ui-state-default', function(e) {
    $(".upload").show();
});
body
可以由文档就绪时保证存在的任何内容替换,其中包含
.ui state default
元素。身体总是存在的,但如果你愿意,也许你有更具体的东西可以使用


此外,您可能并不真的想在iOS上使用“点击”,而“touchstart”可能是更好的选择。(但是做一些研究,而不是仅仅把它放进去!)

好吧,在jQuery的新版本中,live已经被删除了,所以我已经习惯了以不同的方式使用它

$('body').on('click', '.ui-state-default', function(e) {
    $(".upload").show();
});
body
可以由文档就绪时保证存在的任何内容替换,其中包含
.ui state default
元素。身体总是存在的,但如果你愿意,也许你有更具体的东西可以使用



此外,您可能并不真的想在iOS上使用“点击”,而“touchstart”可能是更好的选择。(但是做一些研究,而不是仅仅把它放进去!)

你确定你在使用1.8.3吗
.live()
在1.7中被弃用,并在1.9中被删除。它应该在1.8中仍然存在。但是你不应该使用它。我想我必须解决其他问题,不使用回答中描述的.live()use
.on()
。你说这是iOS的问题,你在普通浏览器中尝试过吗?我怀疑您也会遇到同样的问题,这将是由于插件/小部件停止了事件的传播。Chrome仍然与.live in jQuery 1.8.3配合使用。我可能必须开始使用.on(),您确定要使用1.8.3吗
.live()
在1.7中被弃用,并在1.9中被删除。它应该在1.8中仍然存在。但是你不应该使用它。我想我必须解决其他问题,不使用回答中描述的.live()use
.on()
。你说这是iOS的问题,你在普通浏览器中尝试过吗?我怀疑您也会遇到同样的问题,这将是由于插件/小部件停止了事件的传播。Chrome仍然与.live in jQuery 1.8.3配合使用。如果.live不起作用的话,我可能不得不开始使用.on(),我怀疑.on会使用完全相同的代码,考虑到它直到1.9I才被删除,我有点认为是一样的,但是绑定版本可以工作,这也应该是。很可能是事件冒泡问题,因为事件必须冒泡才能被委派的事件捕获。要防止冒泡,只需使用.preventDefault()@Blynn
e.stopPropagation()
将阻止事件冒泡-我怀疑.live是否工作。on将使用完全相同的代码工作,考虑到它直到1.9I才被删除,但bind版本工作正常,这也应该是。很可能是事件冒泡问题,因为事件必须冒泡才能被委派的事件捕获。要防止冒泡,只需使用.preventDefault()@Blynn
e.stopPropagation()
将阻止事件冒泡-请参阅“点击”与“点击”相同,还是有一些新的移动事件?抱歉,我无法测试它。jQuery Mobile推荐使用tap、touchstart或其他手机别名@BlynnIs“点击”与“点击”相同,还是有一些新的移动事件?抱歉,我无法测试它。jQuery Mobile推荐使用tap、touchstart或其他手机别名@布莱恩