可以使用contextmenu
事件如前面的答案描述檢測右點擊。以檢測鼠標右鍵單擊另一種方法是jQuery的event.which:
clickTree: function(e) {
if (event.which === 3) {
// handle right clicks
this.showtreemenu(e);
return;
}
// handle left clicks
this.toggletree(e);
}
對於長點擊,又名測量點擊時長,使用mouseup
和mousedown
:
events: {
'mousedown .measure-click-duration': 'clickStarted',
'mouseup .measure-click-duration': 'clickEnded'
},
clickStarted: function(e) {
this.clickStartTime = e.timeStamp;
},
clickEnded: function(e) {
var clickDuration = e.timeStamp - this.clickStarted;
if (clickDuration > 1000) {
this.longClick(e);
}
}
我做了一個fiddle展示contextmenu
右點擊次數和上述點擊持續時間。
我想沒有定義「longclick」事件,所以你必須編寫一個自定義的事件處理程序,它可以使用mousedown和mouseup事件組合來創建。 至於右鍵點擊看看[這個](http://stackoverflow.com/questions/4235426/how-can-i-capture-the-right-click-event-in-javascript) – Phoenix
@Phoenix - 是的,我搜查了文檔和許多網站,但無法找到longclick事件。必須編寫自定義事件處理程序。 – Cindrella
看看['.on()'參考頁面](http://api.jquery.com/on/) – Phoenix