jQuery自定义元素右键点击事件(实现案例)
大多数情况下我们使用左键来进行页面交互,而右键大部分对于开发者来说是审查元素的,有的时候我们也要自定义鼠标右键点击行为来达到更好的交互性,常见的有漫画左键前进、右键后退。
第一步我们要屏蔽浏览器默认的右键点击行为,即阻止弹出框。
首先要将阻止弹出函数绑定到目标元素上:
//阻止浏览器默认右键点击事件 $("div").bind("contextmenu", function(){ return false; })
如此一来,div元素的右击事件就被屏蔽了,而浏览器其他区域不受影响,如果你想在整个页面屏蔽右击事件,只需这样做:
document.oncontextmenu = 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" }); } })
示例效果为右击字体缩小,左击字体变大,且其它区域可以响应默认右击事件。
完整代码:
<head> <style type="text/css"> div{ font-size:20px; } </style> <script src="../jquery.js"></script> <script> $(function() { //阻止浏览器默认右键点击事件 /*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>
相关推荐
84483065 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
tztzyzyz 2020-07-05
delmarks 2020-06-28
89510194 2020-06-27
牵手白首 2020-06-14
tztzyzyz 2020-05-31
81463166 2020-05-17
88570299 2020-05-17
delmarks 2020-05-17
donghongbz 2020-05-15
tztzyzyz 2020-05-15
<table id="table" class="table table-striped table-bordered table-hover table-nowrap" width="100%&qu
牵手白首 2020-05-14
Chriswang 2020-04-30
83510998 2020-05-03