jquery事件機(jī)制擴(kuò)展插件 jquery鼠標(biāo)右鍵事件
更新時(shí)間:2011年12月21日 19:26:22 作者:
jquery其實(shí)本身的事件機(jī)制就很完善了,包括了單擊,雙擊,鼠標(biāo)移入,鼠標(biāo)移出等。但是卻少了一個(gè)做事件。就是鼠標(biāo)右擊事件。當(dāng)然大家也是直接用偵聽鼠標(biāo)按下事件,然后通過(guò)if來(lái)判斷執(zhí)行相應(yīng)的函數(shù)。造成鼠標(biāo)右擊事件的效果
因?yàn)樽罱夹g(shù)長(zhǎng)進(jìn)緩慢,也沒(méi)高手帶,只能靠自己了,所以想仿個(gè)WEBQQ來(lái)鍛煉下自己。做之前最好先把必要的東西準(zhǔn)備好。jquery其實(shí)本身的事件機(jī)制就很完善了,包括了單擊,雙擊,鼠標(biāo)移入,鼠標(biāo)移出等。但是卻少了一個(gè)做事件。就是鼠標(biāo)右擊事件。當(dāng)然大家也是直接用偵聽鼠標(biāo)按下事件,然后通過(guò)if來(lái)判斷執(zhí)行相應(yīng)的函數(shù)。造成鼠標(biāo)右擊事件的效果。
但是這不是我想要的,我想要的似乎這個(gè)事件可以跟其它事件比如單擊事件一樣??梢员环奖愕氖褂?,而不需要每次都去判斷。這里通過(guò)編寫jquery插件的形式擴(kuò)展,讓這個(gè)方法可以直接使用$().rightClick();來(lái)使用。
jQuery的插件主要分3種類型
1.封裝對(duì)象方法的插件
(這種插件是將對(duì)象封裝起來(lái),用于對(duì)通過(guò)選擇器獲取的對(duì)象進(jìn)行操作,也就是這里需要用到的方法)
2.封裝全局函數(shù)的插件
(可以將獨(dú)立的函數(shù)加入到j(luò)query的命名空間下)
3.選擇器插件
(雖然jquery的選擇器已經(jīng)很強(qiáng)大了,但還是會(huì)需要擴(kuò)展一些自己喜歡的選擇器)
其它的一些關(guān)于插件的知識(shí)大家可以自己去查閱相關(guān)資料。這里就直接開始講了。
這里是使用的第一種插件類型,先分析下具體的編寫思路。
1.使用鼠標(biāo)右鍵事件后,將禁止所有的系統(tǒng)右鍵菜單功能
2.綁定鼠標(biāo)右鍵事件后,實(shí)際是觸發(fā)鼠標(biāo)按下事件。
3.通過(guò)if來(lái)判斷,如果按下的是右鍵則執(zhí)行參數(shù),這個(gè)參數(shù)只能是函數(shù)。如果不是右鍵則不執(zhí)行。
相信講到這里,對(duì)jquery很熟悉的也明白要怎么做了。
jquery事件機(jī)制擴(kuò)展,jquery鼠標(biāo)右鍵事件。
/*鼠標(biāo)右鍵插件*/
(function($) {
$.fn.extend({
//定義鼠標(biāo)右鍵方法,接收一個(gè)函數(shù)參數(shù)
"rightClick":function(fn){
//調(diào)用這個(gè)方法后將禁止系統(tǒng)的右鍵菜單
$(document).bind('contextmenu',function(e){
return false;
});
//為這個(gè)對(duì)象綁定鼠標(biāo)按下事件
$(this).mousedown(function(e){
//如果按下的是右鍵,則執(zhí)行函數(shù)
if(3 == e.which){
fn();
}
});
}
});
})(jQuery);
$(document).ready(function(e){
$("body").rightClick(function()(alert("右鍵單擊")));
});
jquery事件機(jī)制擴(kuò)展,jquery鼠標(biāo)右鍵事件。
使用方法跟其它事件一樣
但是這不是我想要的,我想要的似乎這個(gè)事件可以跟其它事件比如單擊事件一樣??梢员环奖愕氖褂?,而不需要每次都去判斷。這里通過(guò)編寫jquery插件的形式擴(kuò)展,讓這個(gè)方法可以直接使用$().rightClick();來(lái)使用。
jQuery的插件主要分3種類型
1.封裝對(duì)象方法的插件
(這種插件是將對(duì)象封裝起來(lái),用于對(duì)通過(guò)選擇器獲取的對(duì)象進(jìn)行操作,也就是這里需要用到的方法)
2.封裝全局函數(shù)的插件
(可以將獨(dú)立的函數(shù)加入到j(luò)query的命名空間下)
3.選擇器插件
(雖然jquery的選擇器已經(jīng)很強(qiáng)大了,但還是會(huì)需要擴(kuò)展一些自己喜歡的選擇器)
其它的一些關(guān)于插件的知識(shí)大家可以自己去查閱相關(guān)資料。這里就直接開始講了。
這里是使用的第一種插件類型,先分析下具體的編寫思路。
1.使用鼠標(biāo)右鍵事件后,將禁止所有的系統(tǒng)右鍵菜單功能
2.綁定鼠標(biāo)右鍵事件后,實(shí)際是觸發(fā)鼠標(biāo)按下事件。
3.通過(guò)if來(lái)判斷,如果按下的是右鍵則執(zhí)行參數(shù),這個(gè)參數(shù)只能是函數(shù)。如果不是右鍵則不執(zhí)行。
相信講到這里,對(duì)jquery很熟悉的也明白要怎么做了。
jquery事件機(jī)制擴(kuò)展,jquery鼠標(biāo)右鍵事件。
復(fù)制代碼 代碼如下:
/*鼠標(biāo)右鍵插件*/
(function($) {
$.fn.extend({
//定義鼠標(biāo)右鍵方法,接收一個(gè)函數(shù)參數(shù)
"rightClick":function(fn){
//調(diào)用這個(gè)方法后將禁止系統(tǒng)的右鍵菜單
$(document).bind('contextmenu',function(e){
return false;
});
//為這個(gè)對(duì)象綁定鼠標(biāo)按下事件
$(this).mousedown(function(e){
//如果按下的是右鍵,則執(zhí)行函數(shù)
if(3 == e.which){
fn();
}
});
}
});
})(jQuery);
復(fù)制代碼 代碼如下:
$(document).ready(function(e){
$("body").rightClick(function()(alert("右鍵單擊")));
});
jquery事件機(jī)制擴(kuò)展,jquery鼠標(biāo)右鍵事件。
使用方法跟其它事件一樣
您可能感興趣的文章:
- JQuery右鍵菜單插件ContextMenu使用指南
- jQuery簡(jiǎn)單實(shí)現(xiàn)禁用右鍵菜單
- jquery 簡(jiǎn)短右鍵菜單 多瀏覽器兼容
- jQuery右鍵菜單contextMenu使用實(shí)例
- 深入探討JavaScript、JQuery屏蔽網(wǎng)頁(yè)鼠標(biāo)右鍵菜單及禁止選擇復(fù)制
- 基于jQuery的動(dòng)態(tài)增刪改查表格信息,可左鍵/右鍵提示(原創(chuàng)自Zjmainstay)
- jquery實(shí)現(xiàn)在網(wǎng)頁(yè)指定區(qū)域顯示自定義右鍵菜單效果
- jquery禁用右鍵單擊功能屏蔽F5刷新
- jQuery檢測(cè)鼠標(biāo)左鍵和右鍵點(diǎn)擊的方法
- JQuery模擬實(shí)現(xiàn)網(wǎng)頁(yè)中自定義鼠標(biāo)右鍵菜單功能
相關(guān)文章
jQuery對(duì)checkbox 復(fù)選框的全選全不選反選的操作
這篇文章主要介紹了jQuery對(duì)checkbox 復(fù)選框的全選全不選反選的操作 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
jQuery實(shí)現(xiàn)鼠標(biāo)滑過(guò)預(yù)覽圖片大圖效果的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)滑過(guò)預(yù)覽圖片大圖效果的方法,涉及jQuery鼠標(biāo)事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2017-04-04
jQuery實(shí)現(xiàn)div拖拽效果實(shí)例分析
這篇文章主要介紹了jQuery實(shí)現(xiàn)div拖拽效果的方法,結(jié)合實(shí)例形式分析了jQuery響應(yīng)鼠標(biāo)事件實(shí)現(xiàn)頁(yè)面元素樣式變換的技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-02-02
$(document).ready(function() {})不執(zhí)行初始化腳本
今天發(fā)現(xiàn)一個(gè)頁(yè)面始終不執(zhí)行$(document).ready(function() {})初始化腳本,下面是解決方法2014-06-06
jquery過(guò)濾特殊字符'',防sql注入的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jquery過(guò)濾特殊字符',防sql注入的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
jQuery中$.each()函數(shù)的用法引申實(shí)例
jQuery中的$.each()函數(shù)比f(wàn)orEach更加強(qiáng)大,可以用來(lái)遍歷JavaScript中的任意集合,借來(lái)下來(lái)我們會(huì)舉幾個(gè)jQuery中$.each()函數(shù)的用法引申實(shí)例,首先先來(lái)回顧一下遍歷用法的基礎(chǔ):2016-05-05
jquery中event對(duì)象屬性與方法小結(jié)
本篇文章主要是對(duì)jquery中的event對(duì)象屬性與方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
jQuery DateTimePicker 日期和時(shí)間插件示例
jQuery UI很強(qiáng)大,其中的日期選擇插件Datepicker是一個(gè)配置靈活的插件,這篇文章主要介紹了jQuery DateTimePicker 日期和時(shí)間插件示例,有興趣的可以了解一下。2017-01-01
jQuery中的類名選擇器(.class)用法簡(jiǎn)單示例
這篇文章主要介紹了jQuery中的類名選擇器(.class)用法,簡(jiǎn)單介紹了jQuery類名選擇器的概念、原理并結(jié)合實(shí)例形式分析了類選擇器的簡(jiǎn)單使用方法,需要的朋友可以參考下2018-05-05

