2015-03-13 48 views
0

這適用於所有其他瀏覽器,但在Firefox中,我需要點擊我的「顯示更多評論」鏈接兩次,才能點擊我的點擊事件觸發。有任何想法嗎?jQuery在Firefox中需要切換兩次點擊

$moreReviewsWrapper.toggle(function() { 
    $(this).on('click', function(e) { 
     e.preventDefault(); 
     var moreReviewEndpoint = $(this).data().more; 
     if(moreReviewEndpoint) { 
      $.ajax({ 
       type: 'GET', 
       dataType: 'html', 
       contentType: 'text/html; charset=utf-8', 
       url: moreReviewEndpoint, 
       beforeSend: function() { 
        $moreReviewsLink.text('Loading more reviews ...'); 
       }, 
       success: success, 
       error: function(){ 
        $moreReviewsLink.prop('hidden', false); 
        $moreReviewsLink.text(originalText); 
        $commonError.show(); 
       } 
      }); 
     } 
    }); 
}, function() { $(this).off(); }); 

回答

0

你的jQuery的結構看起來有點奇怪。 toggle()是一個顯示/隱藏功能,第一個參數是持續時間參數。你傳遞一個函數來創建一個事件處理程序。我的猜測是jQuery最終運行該函數來評估它的數量(用作持續時間),其中然後設置您的事件處理程序。

我不確定toggle()應該在這裏做什麼,但在toggle()之外移動您的事件偵聽器將解決您的問題。