• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > jquery实现人性化的有选择性禁用鼠标右键

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-08-16

通过本文主要向大家介绍了禁用,鼠标右键等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

代码实例如下:

<!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也可以禁用右键菜单了

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • jQuery移除或禁用html元素点击事件常用方法小结
  • jquery实现文本框的禁用和启用
  • BootStrap中按钮点击后被禁用按钮的最佳实现方法
  • jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
  • jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
  • jQuery插件EasyUI设置datagrid的checkbox为禁用状态的方法
  • jQuery简单注册和禁用全局事件的方法
  • jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
  • jQuery简单实现禁用右键菜单
  • jquery实现人性化的有选择性禁用鼠标右键

相关文章

  • 2017-08-16jquery 弹出层实现代码
  • 2017-08-16jQuery接受后台传递的List的实例详解
  • 2017-08-16JQuery菜单效果的两个实例讲解(3)
  • 2017-08-16jquery实现的判断倒计时是否结束代码
  • 2017-08-16jquery 无限级下拉菜单的简单实现代码
  • 2017-08-16JQuery中SetTimeOut传参问题探讨
  • 2017-08-16Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
  • 2017-08-16jquery里的each使用方法详解
  • 2017-08-16jquery插件tooltipv顶部淡入淡出效果使用示例
  • 2017-08-16JQuery中$.each 和$(selector).each()的区别详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • JQuery CheckBox(复选框)操作方法汇总
    • jquery validation验证身份证号,护照,电话号码,email(实例代码)
    • jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
    • JQuery将文本转化成JSON对象需要注意的问题
    • 在jQuery1.5中使用deferred对象 着放大镜看Promise
    • jquery+ajax请求且带返回值的代码
    • JQuery 给元素绑定click事件多次执行的解决方法
    • jQuery Validate插件自定义验证规则的方法
    • jquery select下拉框操作的一些说明
    • 基于jquery的文字向上跑动类似跑马灯的效果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有