我的编程空间,编程开发者的网络收藏夹
学习永远不晚

javascript中鼠标按钮事件判断怎么实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

javascript中鼠标按钮事件判断怎么实现

这篇“javascript中鼠标按钮事件判断怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“javascript中鼠标按钮事件判断怎么实现”文章吧。

只有在主鼠标按钮被单击(或键盘回车键被按下)时才会触发 click 事件,因此检测按钮的信息 并不是必要的。但对于 mousedown 和 mouseup 事件来说,则在其 event 对象存在一个 button 属性, 表示按下或释放的按钮。DOM的 button 属性可能有如下 3个值:0 表示主鼠标按钮,1 表示中间的鼠 标按钮(鼠标滚轮按钮) ,2 表示次鼠标按钮。在常规的设置中,主鼠标按钮就是鼠标左键,而次鼠标 按钮就是鼠标右键。
        IE8及之前版本也提供了 button 属性,但这个属性的值与 DOM的 button 属性有很大差异。
       0:表示没有按下按钮。 
       1:表示按下了主鼠标按钮。 
       2:表示按下了次鼠标按钮。 
       3:表示同时按下了主、次鼠标按钮。 
       4:表示按下了中间的鼠标按钮。 
       5:表示同时按下了主鼠标按钮和中间的鼠标按钮。 
       6:表示同时按下了次鼠标按钮和中间的鼠标按钮。 
       7:表示同时按下了三个鼠标按钮。 
       不难想见,DOM模型下的 button 属性比 IE模型下的 button 属性更简单也更为实用,之所以是这样,原因是同时按下多个鼠标按钮的情形十分罕见。常见的做法就是将 IE模型规范化为 DOM方式,毕竟除 IE8及更 早版本之外的其他浏览器都原生支持 DOM模型。而对主、中、次按钮的映射并不困难,只要将 IE的其 他选项分别转换成如同按下这三个按键中的一个即可(同时将主按钮作为优先选取的对象)。换句话说, IE中返回的 5 和 7 会被转换成 DOM模型中的 0。 
       由于单独使用能力检测无法确定差异(两种模型有同名的 button 属性),因此必须另辟蹊径。我 们知道,支持 DOM 版鼠标事件的浏览器可以通过 hasFearture()方法来检测,所以可以再为 EventUtil 对象添加如下 getButton()方法。 
var EventUtil = { 
//省略了其他代码 

getButton: function(event){
if (document.implementation.hasFeature("MouseEvents", "2.0")){
       return event.button;
} else {
       switch(event.button){
              case 0:
              case 1:
              case 3:
              case 5:
              case 7:
                     return 0;
              case 2:
              case 6:
                     return 2;
              case 4: return 1;
              }
       }
},
//省略了其他代码 
}; 
       通过检测"MouseEvents"这个特性,就可以确定 event 对象中存在的 button 属性中是否包含正 确的值。如果测试失败,说明是 IE,就必须对相应的值进行规范化。以下是使用该方法的示例。 

<script type="text/javascript">
var div = document.getElementById("myDiv");
EventUtil.addHandler(div, "mousedown", function(event){
       event = EventUtil.getEvent(event);
       alert(EventUtil.getButton(event)); 
});
</script>
       在这个例子中,我们为一个<div>元素添加了一个 onmousedown 事件处理程序。当在这个元素上 按下鼠标按钮时,会有警告框显示按钮的代码。
       在使用 onmouseup 事件处理程序时,button 的值表示释放的是哪个按钮。此 外,如果不是按下或释放了主鼠标按钮,Opera 不会触发 mouseup 或 mousedown 事件。 

以上就是关于“javascript中鼠标按钮事件判断怎么实现”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

javascript中鼠标按钮事件判断怎么实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CSS3按钮鼠标悬浮怎么实现光圈效果

这篇文章主要介绍了CSS3按钮鼠标悬浮怎么实现光圈效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS3按钮鼠标悬浮怎么实现光圈效果文章都会有所收获,下面我们一起来看看吧。1 、HTML相关知识点  HT
2023-07-04

jQuery鼠标点击事件怎么实现

可以使用 jQuery 的 click() 方法来实现鼠标点击事件。例如,假设有一个按钮的 HTML 代码如下:``````那么可以使用以下 jQuery 代码来实现鼠标点击事件:```$("#myButton").click(functi
2023-05-29

javascript当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了使用什么函数,详细讲解

mouseup事件在鼠标按钮释放时触发,用于处理鼠标释放后的操作,如拖放、按钮单击和菜单交互。其语法为element.addEventListener("mouseup",function(event){...}),参数event提供了鼠标按钮释放相关的信息,包括鼠标位置和释放的按钮。注意,鼠标指针必须在元素内部释放按钮才会触发该事件。其他相关事件包括mousedown、mousemove、click和dblclick。
javascript当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了使用什么函数,详细讲解
2024-04-02

vue实现鼠标悬停事件的代码怎么写

本篇内容介绍了“vue实现鼠标悬停事件的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!v-bind:title="message"
2023-07-04

怎么在pyqt5中利用ComboBox实现一个鼠标点击触发事件

怎么在pyqt5中利用ComboBox实现一个鼠标点击触发事件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、自定义MyComboBox# MyComboBox.pyfr
2023-06-14

怎么在JavaScript中实现事件委托

怎么在JavaScript中实现事件委托?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。事件委托利用事件冒泡,指定一个事件处理程序,管理一系列的所有事件事件委托利用DOM元素
2023-06-15

Java中怎么用策略模式实现条件判断

本文小编为大家详细介绍“Java中怎么用策略模式实现条件判断”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中怎么用策略模式实现条件判断”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。定义策略模式定义了一系
2023-06-29

编程热搜

目录