`
jamm19860411
  • 浏览: 86926 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

js鼠标点击左右键

阅读更多
var mouseEvent = function(){
02.  var arg = arguments[0],
03.  el = arg.el || document,
04.  leftfn = arg.left || function(){},
05.  rightfn = arg.right || function(){},
06.  middlefn = arg.middle || function(){},
07.  buttons = {};
08.  el.onmousedown = function(e){
09.    e = e || window.event;
10.    if(!+"\v1"){
11.      switch(e.button){
12.        case 1:buttons.left = true; break;
13.        case 2:buttons.right = true; break;
14.        case 4:buttons.middle = true; break;
15.      }
16.    }else{
17.      switch(e.which){
18.        case 1:buttons.left = true;break;
19.        case 2:buttons.middle = true; break;
20.        case 3:buttons.right = true;break;
21.      }
22.    }
23.    if(buttons.left){
24.      leftfn();
25.    }else if(buttons.middle){
26.      middlefn();
27.    }else if(buttons.right){
28.      rightfn();
29.    }
30.    buttons = {
31.      "left":false,
32.      "middle":false,
33.      "right":false
34.    };
35.  }
36.}

获取鼠标位置
var getCoordInDocument = function(e) {
02.  e = e || window.event;
03.  var x = e.pageX || (e.clientX +
04.    (document.documentElement.scrollLeft
05.    || document.body.scrollLeft));
06.  var y= e.pageY || (e.clientY +
07.    (document.documentElement.scrollTop
08.    || document.body.scrollTop));
09.  return {'x':x,'y':y};
10.}

至于mouseover,mousemove,mouseout没有什么好说,并且无浏览器差异。我们来看鼠标滚轮事件,这个差异很严重。IE、 Safari、 Opera 、chrome是mousewheel事件,Firefox是DOMMouseScroll事件。事件属性方面,IE等是event. wheelDelta,Firefox是event. detail。IE等往上滚一圈为120,往下滚一圈为-120。Firefox往上滚一圈为-3,往下滚一圈为3。我们可以构造一个函数来削除它们的差异。
01.var mouseScroll = function(fn){
02.  var roll = function(){
03.    var delta = 0,
04.    e = arguments[0] || window.event;
05.    delta = (e.wheelDelta) ? e.wheelDelta / 120 : -(e.detail || 0) / 3;
06.    fn(delta);//回调函数中的回调函数
07.  }
08.  if(/a/[-1]=='a'){
09.    document.addEventListener('DOMMouseScroll', roll, false);
10.  }else{
11.    document.onmousewheel = roll;
12.  }
13.}


此函数接受一函数作为参数,如:
1.mouseScroll(function(delta){
2.  var obj = document.getElementById('scroll'),
3.  current = parseInt(obj.offsetTop)+(delta*10);
4.  obj.style.top = current+"px";
5.});

原文:http://www.cnblogs.com/rubylouvre/archive/2009/08/24/1552862.html
分享到:
评论

相关推荐

    鼠标左右拖动,键盘左右移动,点击箭头左右移动内容

    总之,"鼠标左右拖动,键盘左右移动,点击箭头左右移动内容"是提高网页交互性和用户体验的重要手段,涉及到的技术包括JavaScript事件处理、DOM操作以及可能的前端库或框架的使用。通过这些技术,我们可以创建出更加...

    比较简洁好用的屏蔽鼠标左右键代码

    总结一下,本文主要讨论了如何使用JavaScript来屏蔽鼠标左右键点击,以及为什么需要谨慎对待这种操作。具体实现是通过监听`mousedown`事件并判断`event.button`值,然后调用`event.preventDefault()`来阻止默认行为...

    模拟鼠标左右键点击屏幕位置

    可能是用某种编程语言(如Python、JavaScript、VBScript等)编写的,用于记录和回放鼠标点击的序列。打开和分析这个文件,我们可以看到具体如何实现模拟鼠标点击的逻辑。 6. **应用领域**:这类技术广泛应用于自动...

    C# ASP.NET Javascript - 捕捉鼠标左右键事件

    在本文中,我们将深入探讨如何在C# ASP.NET与JavaScript环境中捕获鼠标左右键的点击事件,以及如何实现网页窗体的自动关闭功能。这些技术对于网页开发人员来说至关重要,尤其是在构建交互性强的Web应用程序时。 ...

    JS鼠标点击图片放大查看.zip

    "JS鼠标点击图片放大查看.zip" 提供的是一种基于JavaScript实现的解决方案,主要用于图片的全屏预览。这个库可能包含了一系列JavaScript代码、CSS样式以及HTML结构,帮助开发者快速集成到自己的项目中,实现图片点击...

    HTML+JS樱花飘落特效+鼠标点击特效(源码)

    1. **事件监听(addEventListener)**:JavaScript可以监听用户的鼠标点击事件,当用户点击屏幕时触发特定的函数。 2. **事件处理函数**:在点击事件发生时,对应的函数会被调用,可能包括改变樱花的状态、增加特殊...

    javascript经典特效---禁用鼠标左右键.rar

    在JavaScript编程领域中,禁用鼠标左右键是一个常见的需求,特别是在一些特定的交互式应用或者网页游戏中,为了防止用户误操作或保护某些功能不被轻易触发。本篇将详细讲解如何利用JavaScript实现这一功能。 首先,...

    支持鼠标滚轮图片自适应的焦点图代码,纯JS构建,可用键盘左右键切换图片,倒序回滚,另外鼠标停止响应后可自动播放功能

    在这个特定的案例中,焦点图不仅支持鼠标滚轮操作,还允许用户通过键盘左右键进行图片切换,提供了更丰富的交互方式。 首先,我们要理解JavaScript在实现这个功能中的核心作用。JavaScript是一种解释型的、基于原型...

    鼠标左右键切换源代码

    1. **事件驱动编程**:了解如何处理鼠标点击事件,如`MouseDown`和`MouseUp`,以及如何区分左键和右键点击。 2. **条件语句**:如何使用`If...Then...Else`或`Select Case`来根据当前状态决定执行哪个操作。 3. **...

    鼠标选中按键,方向键控制选中按键移动

    在编程中,通常会为这些元素绑定“鼠标点击”事件,当用户点击时触发相应的响应,例如改变选中状态或执行预设功能。 其次,利用方向键进行控制是基于键盘的导航方式,常见于游戏、文本编辑器以及某些特定的软件应用...

    鼠标右键,键盘控制左右移动echarts标记线、标记点

    例如,使用箭头键左右移动标记点,我们可以这样做: ```javascript document.addEventListener('keydown', function (event) { if (event.keyCode === 37) { // 左箭头 // 移动标记点向左 myChart....

    jQuery鼠标左右键自定义菜单代码.zip

    在`js`目录下,很可能会有一个或多个JavaScript文件,里面实现了鼠标左右键菜单的逻辑;`css`目录下的文件则用于定义菜单的样式。 为了实现自定义菜单,我们需要做以下步骤: 1. **检测鼠标按键**:使用jQuery的`...

    jQuery鼠标左右键自定义菜单代码

    在这个“jQuery鼠标左右键自定义菜单代码”的项目中,开发者提供了一种方法来实现用户友好的交互体验,特别是对于网页上的右键和左键点击事件。 首先,我们来探讨jQuery如何处理鼠标事件。jQuery提供了`.click()`...

    js鼠标左右键 键盘值小结

    本小结主要针对鼠标左右键以及键盘事件值的处理进行详细阐述,旨在帮助开发人员更精确地理解并应用这些事件。 首先来看鼠标事件。在JavaScript中,可以通过监听document对象或具体DOM元素的事件来获得鼠标的坐标...

    JS 获取鼠标左右键的键值方法

    在JavaScript中,获取鼠标的左右键键值是一项基础但重要的技能,它在开发网页时用于与用户进行交互。当鼠标事件发生时,例如点击、双击或悬停,JavaScript可以捕获这些事件并执行特定的操作。我们主要关注的是如何...

    轮播 自动滚动 鼠标经过出现左右滚动图标点击可停止

    4. **点击停止**:用户点击左右滚动图标时,应暂停自动滚动。这可以通过在点击事件处理函数中清除定时器(`clearInterval`)来实现。当鼠标离开时,可以重新启动自动滚动,但需注意避免立即滚动,而是应该在一定的...

    HTML网页鼠标左键、右键、及左右键同时按下的事件实现

    声明一下,如果只是用到鼠标的左键和右键,是不用这么复杂的。这里主要是应用到了鼠标左右键同时按下时产生的事件。也可以从代码中自己重新定义网页的鼠标右键菜单。

    JavaScript 左右切换鼠标可控的无缝图片滚动代码.rar

    这个功能的核心是通过监听鼠标的左右键点击事件,来控制图片的前后滚动。当用户点击左键时,图片向左移动,展示下一幅图片;反之,点击右键则向右移动,展示前一幅图片。这种无缝滚动的效果意味着在图片切换过程中,...

    左右 移动 鼠标点击 幻灯片

    在"左右移动鼠标点击"的场景中,JavaScript发挥了关键作用,它监听鼠标的移动和点击事件,从而触发幻灯片的切换。 1. **HTML结构**:幻灯片通常由多个包含内容的div元素组成,每个div代表一张幻灯片。这些div可以...

Global site tag (gtag.js) - Google Analytics