2015-07-22 73 views
0

我遇到了類似的問題,touchstart click事件觸發兩次。我加入preventDefault()stopPropagation()解決了這個問題,如下圖所示:jQuery鍵入和輸入事件觸發兩次

$('.upload-area').on('touchstart click', function(e) { 
     e.stopPropagation(); 
     e.preventDefault(); 
     $(this).siblings('.upload-button').trigger('click'); 
    }); 

不過,我試着做同樣與keyup input事件,但它似乎並沒有工作。有沒有解決這個問題的方法?

+1

嘗試'e.stopImmediatePropagation()' –

+0

願你可以用綁定嘗試和取消綁定 'click' 事件 –

回答

0

是的,你可以試試用.stop() jquery函數。

像:

$(this).siblings('.upload-button').stop().trigger('click'); 

或其他方式向所有clicktouchstart事件

$('.upload-area').on('touchstart click', function(e) { 
    e.stopPropagation(); 
    e.preventDefault(); 
    $(this).siblings('.upload-button').trigger('click'); 
}).stop();