码迷,mamicode.com
首页 > 其他好文 > 详细

鼠标滚轮事件、鼠标按钮

时间:2014-10-13 18:12:20      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   sp   div   on   cti   

鼠标滚轮兼容:

/*
事件:DOMMouseScroll(W3C)、onmousewheel(IE/Opera/ChromeS)
滚轮方向判断:wheelDelta(IE/Opera/Chrome)、detail(Firefox)
滚轮方向值:wheelDelta(上:120,下:-120)、detail(上:-3,下:3)

ps:注意某些时候需要阻止滚动默认行为
*/ /**
 * 鼠标滚轮
 * @param o{object}                绑定滚轮事件的对象
 * @param callback{function}     滚轮上下滚动时执行的函数,接收一个参数(上:120,下:-120)
 *
 * wheel(o, function(detail){
 * alert(detail);
 * });
 */
function wheel(o, callback){ function fn(e){ var e = e || window.event, detail = 0; if(e.wheelDelta){ // IE/Opera/Chrome detail = e.wheelDelta; }else if(e.detail){ // Firefox detail = -e.detail * 40; } callback(detail); } if(o.addEventListener){ // W3C o.addEventListener(‘DOMMouseScroll‘,fn,false); } o.onmousewheel = fn; // IE/Opera/Chrome }

鼠标左中右按钮兼容:

/*
W3C:左(0),中(1),右(2)
IE:左(0, 1, 3, 5, 7),中(4),右(2, 6)
*/

/*
 * return {number}     0, 1, 2
 *
 * addEvent(document, ‘mousedown‘, function(ev){
 *    alert(getEventButton(ev));
 * });
 */
function getEventButton(event){
    var ev = event || window.event;
    if(document.implementation.hasFeature(‘MouseEvents‘, ‘2.0‘)){
        return ev.button;
    }else{
        return [0, 0, 2, 0, 1, 0, 2, 0][ev.button];
    }
}

 

鼠标滚轮事件、鼠标按钮

标签:style   blog   color   io   ar   sp   div   on   cti   

原文地址:http://www.cnblogs.com/jununx/p/4006392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!