大多數(shù)情況下我們使用左鍵來進(jìn)行頁面交互,而右鍵大部分對于開發(fā)者來說是審查元素的,有的時候我們也要自定義鼠標(biāo)右鍵點擊行為來達(dá)到更好的交互性,常見的有漫畫左鍵前進(jìn)、右鍵后退。
化州網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運(yùn)維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
第一步我們要屏蔽瀏覽器默認(rèn)的右鍵點擊行為,即阻止彈出框。
首先要將阻止彈出函數(shù)綁定到目標(biāo)元素上:
//阻止瀏覽器默認(rèn)右鍵點擊事件
$("div").bind("contextmenu",
function(){
return
false;
})
如此一來,div元素的右擊事件就被屏蔽了,而瀏覽器其他區(qū)域不受影響,如果你想在整個頁面屏蔽右擊事件,只需這樣做:
document.oncontextmenu
=
function()
{
return
false;
}
接下來就可以為元素綁定右擊響應(yīng)函數(shù)了:
$("div").mousedown(function(e)
{
console.log(e.which);
//右鍵為3
if
(3
==
e.which)
{
$(this).css({
"font-size":
"-=2px"
});
}
else
if
(1
==
e.which)
{
//左鍵為1
$(this).css({
"font-size":
"+=3px"
});
}
})
示例效果為右擊字體縮小,左擊字體變大,且其它區(qū)域可以響應(yīng)默認(rèn)右擊事件。
完整代碼:
head
style
type="text/css"
div{
font-size:20px;
}
/style
script
src="../jquery.js"/script
script
$(function()
{
//阻止瀏覽器默認(rèn)右鍵點擊事件
/*document.oncontextmenu
=
function()
{
return
false;
}*/
//某元素組織右鍵點擊事件
$("div").bind("contextmenu",
function(){
return
false;
})
$("div").mousedown(function(e)
{
console.log(e.which);
//右鍵為3
if
(3
==
e.which)
{
$(this).css({
"font-size":
"-=2px"
});
}
else
if
(1
==
e.which)
{
//左鍵為1
$(this).css({
"font-size":
"+=3px"
});
}
})
})
/script
/head
body
div
div
/div
/body
以上這篇jQuery自定義元素右鍵點擊事件(實現(xiàn)案例)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
1、contextMenu我們可以根據(jù)數(shù)據(jù)記錄隱藏一些菜單項,這個可以在onShowMenu事件中,根據(jù)e.currentTarget觸發(fā)源獲取數(shù)據(jù),再根據(jù)你需要改變原菜單項
!DOCTYPE?HTML
html
title38/title
head
style
div{
width:500px;
height:500px;
background-color:#aabbcc;
}
/style
script?src=""/script
/head
body
div/div
buttontrigger/button
/body
script
$(function(){
$('div').mousedown(function(event,?a){
if(event.which?==?1?||?a?==?'left'){
alert('left?click');
}
if(event.which?==?3?||?a?==?'right'){
alert('right?click');
}
});
$('button').click(function(){
$('div').trigger('mousedown',?['right']);
});
});
/script
/html
這是最簡單的辦法,
還可以給div加data來進(jìn)行判斷, 適用于比較復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的時候
!doctype html
html
head
meta charset="utf-8"
title右鍵/title
script type="text/javascript" src=""/script
script type="text/javascript"
$(document).ready(function() {
//阻止瀏覽器默認(rèn)右鍵點擊事件
$("ul li").bind("contextmenu", function(){
return false;
})
$("ul li").mousedown(function(e) {
//右鍵為3,
if (3 == e.which) {
alert("右鍵");
} else if (1 == e.which) {
//左鍵為1
alert("左鍵");
}
})
});
/script
/head
body
ul
li深圳網(wǎng)站建設(shè)/li
li獨占網(wǎng)絡(luò)/li
/ul
/body
/html
jquery怎么實現(xiàn)自定義右鍵菜單有刷新功能
在線演示地址如下:
具體代碼如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
!DOCTYPE html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
titlejQuery自定義區(qū)域的鼠標(biāo)右鍵菜單/title
script src="jquery-1.6.2.min.js"/script
style type="text/css"
#mask{position: absolute;left: 0;top: 0;z-index: 9000;display: block;}
#myMenu{position: absolute;display: none;z-index: 9999;background: yellow;border: 1px solid;width: 200px;height: 155px;}
#textbox{background: orange;width: 380px;border: 2px solid;}
img{height: 30px;width: 30px;}
td{font-size: 20px;cursor: pointer;}
a{text-decoration: none;color: black;}
a: hover{color: white;background: black;}
/style
script type="text/javascript"
var windowwidth;
var windowheight;
var checkmenu;
$(window).ready(function() {
$('#myMenu').hide();
$('#textbox').bind("contextmenu",function(e){
windowwidth = $(window).width();
windowheight = $(window).height();
checkmenu = 1;
$('#mask').css({
'height': windowheight,
'width': windowwidth
});
$('#myMenu').show(500);
$('#myMenu').css({
'top':e.pageY+'px',
'left':e.pageX+'px'
});
return false;
});
$('#mask').click(function(){
$(this).height(0);
$(this).width(0);
$('#myMenu').hide(500);
checkmenu = 0;
return false;
});
$('#mask').bind("contextmenu",function(){
$(this).height(0);
$(this).width(0);
$('#myMenu').hide(500);
checkmenu = 0;
return false;
});
$(window).resize(function(){
if(checkmenu == 1) {
windowwidth = $(window).width();
windowheight = $(window).height();
$('#mask').css({
'height': windowheight,
'width': windowwidth,
});
}
});
});
/script
/head
body
div id="myMenu"
table cellspace="3"
tr
td img src="images/twitter.png" /tdtda href="#"tweet me/a/td
/tr
tr
td img src="images/facebook.png" /tdtda href="#"facebook share/a/td
/tr
tr
td img src="images/myspace.png" /tdtda href="#"myspace share/a/td
/tr
tr
td img src="images/mail.png" /tdtda href="#"e-mail this/a/td
/tr
/table
/div
div id="mask" /div
div id="textbox"
p嗨!您好,在這個區(qū)域內(nèi)點擊您的鼠標(biāo)右鍵吧,會彈出一個自定義的右鍵菜單,和瀏覽器的右鍵菜單完全不一樣哦!p/
/div
div
/body
/html
網(wǎng)站題目:jquery右鍵,jquery右鍵多級菜單
新聞來源:http://jinyejixie.com/article46/dschhhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、網(wǎng)站排名、用戶體驗、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)