簡體   English   中英

jQuery click事件需要雙擊才能起作用

[英]jQuery click event requires double click to work

我的腳本實際上遇到了一些問題:實際上,單擊事件需要2次單擊才能起作用。 腳本是這樣的:

  $('td#td_new').live('click', function() {
    $.ajax({
    type: 'GET',
    url: 'add_hobby.php',
    data: { hobby: $('#ricerca_interests').val() }, 
     success: function(msg) {                         
        nuovo_hobby="<tr id='hobby' class='checked' selezionato='si'  hobby_id='"+msg+"' ><td id='hobby' width='179px'><div id='nome_hobby'>"+$('#ricerca_interests').val()+'</div></td></tr>';
        $(nuovo_hobby).appendTo("#interessilista");

         $('tr#new_hobby').hide().remove();


        },
    error: function() {alert("Error. Try later.");}
}); 

   });

從jQuery 1.7開始,不推薦使用.live()方法。 您應該使用.on()附加事件處理程序。

看來您的代碼似乎沒有產生可能導致第二次點擊的需要...但是嘗試更改-

$('td#td_new').live('click', function() {

$(document).on('click','#td_new', function() {

然后打開firebug或在success: part中添加console.log('something') -並確保ajax請求按照需要完成並且不會繼續運行。

否則我們需要更多代碼...

玩得開心。

編輯

我試圖根據您上載的代碼來了解您要執行的操作,但是無法對其進行測試,因此這里有一些見解供您參考:

  1. 在頭部添加您的源腳本(jquery + UI等)。
  2. 刪除jquery.min ...源代碼-不需要它,因為您可以通過任何方式包含完整腳本。
  3. 我建議升級到jQuery 1.9 ...您正在使用1.7.2
  4. 當在不同元素上使用相同的標識符時,應使用非id class聲明它們。
  5. 我建議您將click事件作為類附加到div add_hobby而不是td

這是on()用法的小演示,並將代碼附加到您的頁面:

jsfiddle演示

現在隨時將我引向您的確切問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM