jquery实现人性化的有选择性禁用鼠标右键_jquery

使用比较暴力的手段禁用鼠标右键是不人性化的,所以最好还是有选择性的禁用鼠标右键。

代码实例如下:

<!DOCTYPE html> <html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.45it.com/" />
<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也可以禁用右键菜单了

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索鼠标右键
禁用
jquery禁用右键菜单、jquery 禁用右键、jquery禁用鼠标右键、右键没有选择性粘贴、excel右键选择性粘贴,以便于您获取更多的相关知识。

时间: 2024-10-05 02:16:17

jquery实现人性化的有选择性禁用鼠标右键_jquery的相关文章

jquery实现的有选择性禁用鼠标右键

jquery实现的有选择性禁用鼠标右键: 使用比较暴力的手段禁用鼠标右键是不人性化的,所以最好还是有选择性的禁用鼠标右键. 代码实例如下: <!DOCTYPE html> <html>  <head>  <meta charset="utf-8">  <meta name="author" content="http://www.45it.com/" />  <title>电

js如何禁用鼠标右键

  js如何禁用鼠标右键   function stop(){    return false;   }   document.oncontextmenu=stop;   原帖地址:http://blog.sina.com.cn/s/blog_573a052b0100m6kt.html

网页上用js禁用鼠标右键

请尽可能放在网页顶端,保证效果请勿放在页面最后 <script type="text/javascript">document.oncontextmenu=function(){ return false }</script> 解除鼠标右键限制 javascript:(function() { function R(a){ona = "on"+a; if(window.addEventListener) window.addEventList

利用jquery实现下拉框的禁用与启用_jquery

话不多说,附上实例代码,仅供大家参考 禁用下拉框 //下拉框禁用 $("select").each(function () { $("#" + this.id).attr("disabled", true); }); 启用下拉框 //下拉框启用 $("select").each(function () { $("#" + this.id).removeAttr("disabled");

网页鼠标右键被禁用的解决办法

  解决方法 一.首先打开IE网页浏览器,然后找到点击顶部菜单中的[工具]按钮或者文字,在下拉菜单中,选择[Internet选项],如下图所示. 打开Internet选项 二.打开Internet选项后,再切换到[安全]选项卡,然后再点击底部的[自定义级别],如下图所示. 自定义级别 三.然后在打开的[安全设置-Internet区域]对话框中,找到[活动脚本]设置选项,然后将默认的"启用"更改为[禁用],最后再一路点击底部的[确定]即可. 以上操作完成后,关闭IE浏览器,再重启打开浏览

破除网页鼠标右键禁用的十大绝招

现在很多的网页设置了禁用鼠标右键,使很多的人没有办法继续操作,现在教你几招,让你 轻松破解. 1.在网页上任意处将右键按下,等跳出对话框时不要放开右键,将鼠标移至对话框,用鼠标左键点"确定",在将鼠标移动到想要的连接处,放开右键!OK 2.同"1",只是将鼠标移至对话框,用回车去"确认"! 3.用组合键"CTRL+F10"! 4.在页面中点击右键,当出现警告窗口时,左手按键盘上的CTRL+F4键关闭提示窗口! ----以上的方

鼠标右键失灵原因? 鼠标右键突然失灵原因分析与解决办法

最近有很多网友反馈其电脑有时候右键失灵,不知道怎么回事?在上网时,有时会遇到按右键没有反应的情况.一开始还以为是中了病毒,但是重启之后,又恢复正常了,这到底是怎么回事呢?针对这个问题编辑发布下自己的观点. 如果是在我电脑上操作电脑软件导致的鼠标右键失灵可能以下原因造成的. 一:系统繁忙,不能响应 你的系统安装太久,或软件安太多,注册表过大垃圾太多;或者很久没有做磁盘整理;或者安了多个附加右键菜单的软件;或者杀毒软件设置过于保守,解决办法可以尝试优化下电脑系统即可. 二:鼠标用的稍久,或者多次用力

两种JS实现屏蔽鼠标右键的方法_javascript技巧

JS屏蔽鼠标右键的两种方法,比较常用的一个JS小功能,用上这个代码后,浏览者在访问你网页的时候就不能点击右键了,点了也不会弹出右键菜单,本功能最好不要用的太多哦,有时候用户会反感的. 代码如下: <html> <head> <title>屏蔽鼠标右键</title> </head> <body oncontextmenu=self.event.returnvalue=false> 第一种方法:在body标签里加上oncontextme

javascript 禁止单击鼠标右键实例代码

看代码:  代码如下 复制代码 <body onContextMenu="alert('^_^不要偷看哦!');return false"> 在我上面右击看看 </body> 在文字的上面单击右键,会弹出信息框,如图:   同一个功能,可以通过许多的方法来实现,就看你个人实惯了,上面的功能也可以通过下面的代码实现:  代码如下 复制代码 <script language="javascript"> <!--  functio