2011-09-26 13 views
3
....live('click', function(){ 
    /*How do I distinguish left/right/double click*/ 
}); 

看來event.button可以用來區分左鍵和右鍵,但是如何區分雙擊?

而且我不知道是否event.button被所有主流瀏覽器的支持..

+4

據我所知,你必須使用'dblclick'處理程序是,不'click' ... – Cipi

+0

可能的回答你的問題,請參見本:如何區分左鍵和右鍵點擊jQuery?](http://stackoverflow.com/questions/1206203/how-to-distinguish-between-left-and-right-mouse-click-with-jquery) –

回答

3

以及存在的DoubleClick一個單獨的事件處理程序。該事件是dblclick

+0

但我需要用'live'來綁定未來的元素。 –

+0

是的,所以'.live('dblclick',...)' – Alnitak

+0

dblclick'處理程序也會觸發'click'處理程序,至少在某些操作系統和/或瀏覽器中。同時使用兩者是「正式」不宜的。我想可以對「click」處理程序的內容應用一段時間延遲,然後測試是否觸發了「dblclick」事件。 – Blazemonger

4

這似乎解決了左,右鍵單擊問題:

$("#element").live('click', function(e) { 
    if(e.button == 0) { 
     // Left mouse button was clicked (non-IE) 
    } 
}); 

對於IE

$("#element").live('click', function(e) { 
    if(e.button == 1) { 
     // Left mouse button was clicked (IE only) 
    } 
}); 

見鏈接查看更多細節

jQuery live click binds

相關問題