当前位置: 首页 > 图文教程 > 网络编程 > Javascript > javascript 兼容鼠标滚轮事件

Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
(转载)JavaScript中匿名函数,函数直接量和闭包
简单的无缝滚动程序-仅几行代码
Javascript中的数学函数集合
javascript之大字符串的连接的StringBuffer 类
javascript之对系统的toFixed()方法的修正
用javascript实现自定义标签
js在客户端验证密码强度,兼容FireFox和IE
javascript背景颜色按时变换
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%
javascript语句中的CDATA标签的意义
用javascript实现分割提取页面所需内容
网上抓的一个特效
js之点击 超连接,提示一个层.点击空白.层消失
模拟用户操作Input元素,不会触发相应事件
弹出广告特效代码(一个IP只弹出一次)
(仅IE下有效)关于checkbox 三态
JavaScript Archive Network 集合
关于__defineGetter__ 和__defineSetter__的说明
textContent在Firefox下与innerText等效的属性

Javascript 中的 javascript 兼容鼠标滚轮事件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 469 ::
收藏到网摘: n/a

浏览地图时,使用鼠标滚轮来放大和缩小。即用到了滚轮事件。 这个事件在标准下和IE下是有区别的。firefox是按标准实现的,事件名为"DOMMouseScroll ",IE下采用的则是"mousewheel "。
当然一行代码就解决了兼容问题
复制代码 代码如下:

var mousewheel = document.all?"mousewheel":"DOMMouseScroll";

事件属性,IE是event.wheelDelta,Firefox是event.detail 属性的方向值也不一样,IE向上滚 > 0,Firefox向下滚 > 0。
最新的jquery1.3.2仍然没有增加滚轮事件,但可以用jquery的bind去绑定任何事件,当然得加上上面那句。
不过jquery有个插件已经加上了该功能。见http://brandonaaron.net/code/mousewheel/demos
这样使用:
复制代码 代码如下:

$('div.mousewheel_example').mousewheel(fn);
$('div.mousewheel_example').bind('mousewheel', fn);