iOS中不工作jQuery的单击事件[复制]iOS中不工作jQuery的单击事件[复制](jQuer

2019-05-05 10:49发布

这个问题已经在这里有一个答案:

  • 如何在iPhone的Web应用程序使用jQuery点击事件 8个回答

第二次更新:看起来像我的功能之一(resetFigures)是防止事件处理程序,如此感人,到最后的绑定功能整理出来。

更新:我经过一些基本的测试,该点击事件注册意识到,这只是盒子失败挖掘时翻转。

我有我的网站在Chrome和Firefox工作的基本审美功能,但它拒绝(与iOS 6.1和iPad测试的iPhone 4的iOS 4.3.5)检点iOS上。

您可以查看该网站,当然脚本(main.js)位置: http://bos.rggwebdesigns.com/

我读过的iOS并没有真正处理jQuery的单击事件正确,但我在努力找出一个修复。 这里有几个线程堆栈溢出提到的现场()方法,但实现它像如下(以及添加onclick=""可点击元素)似乎没有工作:

$('.card').live('click touchstart', function() {
        var figure = $(this).children('.back');
        var button = figure.find('.button');
        var column = $(this).parents().eq(1);
        $('.column').removeAttr('style');
        column.css('z-index', 2000);
        resetFigures();
        if(flipCard(this)){
            swoosh.pause();
            swoosh.currentTime = 0;
            swoosh.play();
        }
    });

我也遇到了这个有趣的解决方法的项目: http://aanandprasad.com/articles/jquery-tappable/ 。 不过,我有,要么没有运气:

$('.card').tappable(function() {
        var figure = $(this).children('.back');
        var button = figure.find('.button');
        var column = $(this).parents().eq(1);
        $('.column').removeAttr('style');
        column.css('z-index', 2000);
        resetFigures();
        if(flipCard(this)){
            swoosh.pause();
            swoosh.currentTime = 0;
            swoosh.play();
        }
    });

另外,请纠正我,如果我一直在误导,但根据这个网站,3D变换的iOS中使用适当的前缀支持: http://caniuse.com/transforms3d

Answer 1:

有与iOS不注册点击的问题/触摸势必DOM加载后添加的元素的事件。

虽然PPK有这样的建议: http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html

我这个发现很容易解决,只需将其添加到CSS:

cursor: pointer;


Answer 2:

最近对客户端的Web应用程序工作时,我注意到,添加到非锚元素的任何点击事件并没有在iPad或iPhone上运行。 所有的台式电脑和其他移动设备工作正常 - 但随着苹果产品是最流行的移动设备,它得到它固定是非常重要的。

事实证明,任何非锚定元件分配一个点击事件处理jQuery中必须具有一个onClick属性(可以是空的像下文):

onClick=""

要么

该元素的CSS需要有以下声明:

cursor:pointer

奇怪,但是这就是它把得到的东西再工作!
来源: http://www.mitch-solutions.com/blog/17-ipad-jquery-live-click-events-not-working



Answer 3:

你应该绑定的轻击事件,点击无法在移动Safari或在UIWbview存在。 您也可以使用该填充工具 ,避免了300ms的延迟,当一个链接被触摸。



文章来源: jQuery click events not working in iOS [duplicate]