2013-12-07 3 views
0

Я использую следующий код, как на моем сайтеJQuery HTML обновление работает на компьютере, но не на смартфоне

<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-смартфон на моем смартфоне ...

Знаете ли вы какое-либо решение или обходное решение для этого, способ, которым я могу обладать этой и необходимой способностью действовать даже на смартфон?

Заранее благодарим за вашу помощь!

EDIT: Я, наконец, сделали выбор в пользу решения, как в 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, но ничего, поскольку проблема доходит до события click ... – Snipchain

+0

отредактировал мой комментарий .. и в вашем примере у вас нет окончательного слэша в теге img .. поэтому он недействителен xhtml. – Hardy

+0

im, работающий с html5, поэтому он действителен ... он передает валидатор W3C ... но, как сказано, изображение нужно вставить, прежде чем щелчок можно будет обработать, в вашем примере вы предполагаете, что изображение уже видно, пока оно нет, и это проблема ...:/ – Snipchain

Смежные вопросы