jquery事件機制擴展插件 jquery鼠標右鍵事件

jquery其實本身的事件機制就很完善了,包括了單擊,雙擊,鼠標移入,鼠標移出等。但是卻少了一個做事件。就是鼠標右擊事件。當然大家也是直接用偵聽鼠標按下事件,然後通過if來判斷執行相應的函數。造成鼠標右擊事件的效果

因爲最近技術長進緩慢,也沒高手帶,只能靠自己了,所以想仿個WEBQQ來鍛鍊下自己。做之前最好先把必要的東西準備好。jquery其實本身的事件機制就很完善了,包括了單擊,雙擊,鼠標移入,鼠標移出等。但是卻少了一個做事件。就是鼠標右擊事件。當然大家也是直接用偵聽鼠標按下事件,然後通過if來判斷執行相應的函數。造成鼠標右擊事件的效果。 

但是這不是我想要的,我想要的似乎這個事件可以跟其它事件比如單擊事件一樣。可以被方便的使用,而不需要每次都去判斷。這裏通過編寫jquery插件的形式擴展,讓這個方法可以直接使用$().rightClick();來使用。 

jQuery的插件主要分3種類型 

1.封裝對象方法的插件 

(這種插件是將對象封裝起來,用於對通過選擇器獲取的對象進行操作,也就是這裏需要用到的方法) 

2.封裝全局函數的插件 

(可以將獨立的函數加入到jquery的命名空間下) 

3.選擇器插件 

(雖然jquery的選擇器已經很強大了,但還是會需要擴展一些自己喜歡的選擇器) 

其它的一些關於插件的知識大家可以自己去查閱相關資料。這裏就直接開始講了。 

這裏是使用的第一種插件類型,先分析下具體的編寫思路。 

1.使用鼠標右鍵事件後,將禁止所有的系統右鍵菜單功能 

2.綁定鼠標右鍵事件後,實際是觸發鼠標按下事件。 

3.通過if來判斷,如果按下的是右鍵則執行參數,這個參數只能是函數。如果不是右鍵則不執行。 

相信講到這裏,對jquery很熟悉的也明白要怎麼做了。 

jquery事件機制擴展,jquery鼠標右鍵事件。 

代碼如下:

/*鼠標右鍵插件*/ 
(function($) { 
$.fn.extend({ 
//定義鼠標右鍵方法,接收一個函數參數 
"rightClick":function(fn){ 
//調用這個方法後將禁止系統的右鍵菜單 
$(document).bind('contextmenu',function(e){ 
return false; 
}); 
//爲這個對象綁定鼠標按下事件 
$(this).mousedown(function(e){ 
//如果按下的是右鍵,則執行函數 
if(3 == e.which){ 
fn(); 

}); 

}); 

})(jQuery); 

代碼如下:

$(document).ready(function(e){ 
$("body").rightClick(function()(alert("右鍵單擊"))); 
});


jquery事件機制擴展,jquery鼠標右鍵事件。 
使用方法跟其它事件一樣



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章