2013-12-07 41 views
0

我用我的网站上jQuery文档更新电脑上工作,但不能在智能手机

<span class="box"> 
     <noscript> 
     <a href="link.php"><img src="images/imagebox.png"></a> 
     </noscript> 
    </span> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 

    $(document).ready(function() { 

     $('span.box').html('<img src="images/imagebox.png">'); 

     $(document).on('click','span.box', function(){ 

        // rest of code 

     }); 
    }); 

以下类似的代码,你可以看到,我建的方式,如果客户端已启用JavaScript,内容被替换为没有链接,所以它对客户端来说更具有互动性,如果客户端没有javascript,他仍然以链接的方式仍然可以采取必要的行动...

虽然这个工作完美没有任何麻烦电脑,在智能手机(至少是我的),它不工作,但我不知道为什么......实际上,在我的智能手机上,我看不到,也不能做任何行动就好像它不会有JavaScript,而它有...我有我的智能手机上的Android 2.1 ...

你知道任何解决方案或解决方法为此,我可以拥有这种和必要的行动能力,即使在手机?

在此先感谢您的帮助!

编辑:我最终选择的解决方案就像JavaScript function in href vs. onclick

回答

0

尝试使用

$(document).on('pageinit', function(){});$(document).on('mobileinit', function(){});代替

$(document).ready(function(){});

+0

不,不要工作了,也没有在智能手机,也没有对计算机...:/ – Snipchain

+0

包括JQM,这将是明确的,我总是用这个。 –

+0

请看我的答案更新@Snipchain –

1

所有移动设备不处理单击事件。应该是:

$('<img />').attr('src', 'images/imagebox.png').appendTo('span.box').bind('click touchstart', function() { 

    // handle click/touch 

}); 

也看到这个帖子一倍左右trgiggering问题在一些触摸功能的设备: How to bind 'touchstart' and 'click' events but not respond to both?

+0

问题不是点击,而是插入图像...我试过了touchstart,但没有问题是在点击事件之前发生的...... – Snipchain

+0

编辑了我的评论..并且在您的示例中,您没有在img标签中结束斜杠..所以它不是有效的xhtml。 – Hardy

+0

即时通讯工作与html5,所以它是有效的......它通过W3C验证...但如上所述,图像需要插入之前点击可以处理,在你的例子中,你假设图像已经可见,而不是,这是问题...:/ – Snipchain

相关问题