jquery html更新在计算机上工作但不在智能手机上

时间:2013-12-07 23:30:27

标签: javascript android jquery html mobile

我在我的网站上使用了类似以下的代码

    <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

这样的解决方案

2 个答案:

答案 0 :(得分:1)

所有移动设备都不处理点击事件..应该是:

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

   // handle click / touch

});

另请参阅此帖子关于某些启用触摸的设备中的双重牵引问题: How to bind 'touchstart' and 'click' events but not respond to both?

答案 1 :(得分:0)

尝试使用

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

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