时间:2021-05-26
使用比较暴力的手段禁用鼠标右键是不人性化的,所以最好还是有选择性的禁用鼠标右键。
代码实例如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http:///" /> <title></title> <style type="text/css">html,body{height:100%}div{width:150px;height:50px;background:#CCC;}</style><script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script><script type="text/javascript"> $(document).ready(function(){function jQuery_isTagName(ev,arr){ev=$.event.fix(ev);var target=ev.target||ev.srcElement;if(arr&&$.inArray(target.tagName.toString().toUpperCase(),arr)==-1){return false;}return true;}$(document).bind("contextmenu",function(ev){if(!jQuery_isTagName(ev,['INPUT','TEXTAREA'])){ev.preventDefault();return false;}return true;})})</script> </head> <body><div id="thediv"></div> <textarea></textarea></body> </html>上面的代码实现了我们的要求,下面对代码的实现过程做一下介绍。
代码注释:
1.$(document).ready(function(){}),当文本结构完全加载完毕再去执行函数中的代码。
2.function jQuery_isTagName(ev,arr){},此函数可以判断元素是否在可以使用右键菜单之列,第一个参数是事件对象,第二个参数是一个数组,数组元素是可以使用右键菜单的标签名称。
3.ev=$.event.fix(ev),实现事件对象在各个浏览器的兼容性,fix()函数是jquery内部使用的,当然也可以这么用。
4.var target=ev.target||ev.srcElement,获取事件源对象。
5.if(arr&&$.inArray(target.tagName.toString().toUpperCase(),arr)==-1){return false;},判断指定的标签元素是否在数组中,如果数组中没有指定的标签,那么就返回false。
6.return true,返回true。
8.$(document).bind("contextmenu",function(ev){}),为document文档注册contextmenu事件处理函数。
9.if(!jQuery_isTagName(ev,['INPUT','TEXTAREA'])){
ev.preventDefault();
return false;
}
如果如果指定标签不在可以使用右键菜单的列表中,那么就使用ev.preventDefault()阻止事件冒泡,这很重要,否则的话如果有元素嵌套,虽然子元素禁用了右键菜单,但是右键子元素的时候,还是会弹出右键菜单,因为事件传递到父元素上去了,return false也可以禁用右键菜单了
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
网页视觉版式的人性化设计。人性化设计是功能主义与完美主义的结合,在网页版式设计的前、中、后期体现适用性、实用性和舒适性等。设计者应将网页视觉版式与人性化设计相融
下面小编给大家整理了8个技巧对程序员来说非常的有帮助,具体如下所示:1)禁用鼠标右键单击 jQuery程序员可以使用此代码在网页上禁用鼠标右键点击。$(doc
什么叫人性化呢?有一些小伙伴们乃至误会了人性化,觉得人性化就是指店面要保证人性化。那就是大家下意识用商家的逻辑思维去思索。但凡全是要换位思考一下。针对顾客而言人
1)禁止右键在开发Web应用的时候,有些情况需要禁用右键单击功能。使用此代码,jQuery开发人员可以在网页上禁用鼠标右键点击。代码如下:复制代码代码如下:$(
功能实现:用户在输入文字时,如果能高亮显示正在输入的那个文本框的话,会更人性化些,下面就使用jQuery来实现。实现原理:在document加载完成后(read