2013-05-28 2 views
6

У меня есть проблема с функцией click на мобильной веб-странице. Вот мой html-кодjQuery mobile click event not working

<div data-role=content> 
    <input type="text" id="text"> 
    <div id="ss"></div> 
</div> 
<script type="javascript"> 
    $(document).ready(function() { 
     $("#text").keyup(function(){ 
      $('#ss').append('<div style="background:yellow;" >Text<br/><a class="te"> alert </a></div>'); 
     }); 

     $(".te").click(function(){ 
      alert("It is working"); 
     }); 
    }); 
</script> 

Пожалуйста, помогите мне в решении этой проблемы.

+0

вы используете JQuery Mobile? Если да, добавьте [тэг: jquery-mobile] к вашему вопросу. – Mooseman

+1

@Barlas, см. Этот ответ http://stackoverflow.com/questions/4755505/how-to-recognize-touch-events-using-jquery-in-safari-for-ipad-is-it-possible – maximkou

+0

Большое спасибо , Я решил свою проблему. Мой правильный код: Guwanch

ответ

10

Ваш элемент добавлен динамически, используйте делегирование событий. Изменение события нажатия на:

$(document).on('click', '.te', function() { 
    //do stuff 
}); 
+0

Кажется, что нужно работать: http://jsfiddle.net/Gq92f/ – tymeJV

+0

Вы, сэр, являются легендой. Я отрывал свои волосы от этого в течение последних 3 часов. Сейчас я отлично работаю, и я переключился на это. СПАСИБО!! –

0

'нажмите касание' ИЛИ 'touchstart'

$('.delete-my-account').on('click touch', function(e) { 
     e.preventDefault(); 
     e.stopPropagation(); 

     if (! confirm('Are you sure?')) { 
      return false; 
     } 
     //... 
});