婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 鼠標(biāo)滾輪事件和Mac觸控板雙指事件

鼠標(biāo)滾輪事件和Mac觸控板雙指事件

熱門標(biāo)簽:電話機(jī)器人技術(shù) 智能電銷機(jī)器人被禁用了么 ok電銷機(jī)器人 欣鼎電銷機(jī)器人 效果 地圖標(biāo)注軟件打印出來(lái) 黃石ai電銷機(jī)器人呼叫中心 惡搞電話機(jī)器人 高德地圖標(biāo)注商戶怎么標(biāo) 如何查看地圖標(biāo)注

因?yàn)橄乱浑A段要做的一個(gè)工作是開(kāi)發(fā)一個(gè)WEB端的K線圖,所以這一周一直在研究這方面的東西,其中涉及到的一個(gè)知識(shí)點(diǎn)是鼠標(biāo)滾輪事件和Mac的觸控板雙指事件,發(fā)現(xiàn)這里面還是有一些坑的。

1. 用哪個(gè)事件

The wheel event fires when the user rotates a wheel button on a pointing device (typically a mouse). This event replaces the non-standard deprecated mousewheel event.

以前常使用的mousewheel事件已經(jīng)逐漸被官方廢棄了,改用wheel事件代替,所以這里會(huì)優(yōu)先使用wheel,并向下兼容。

另外,即使是wheel事件,各瀏覽器的表現(xiàn)也可能不盡相同,都是各大瀏覽器自己的規(guī)范,官方并沒(méi)有一個(gè)標(biāo)準(zhǔn),雖然我也不知道為什么。

2. 兼容寫法

// creates a global "addWheelListener" method
// example: addWheelListener( elem, function( e ) { console.log( e.deltaY ); e.preventDefault(); } );
(function(window,document) {

    var prefix = "", _addEventListener, onwheel, support;

    // detect event model
    if ( window.addEventListener ) {
        _addEventListener = "addEventListener";
    } else {
        _addEventListener = "attachEvent";
        prefix = "on";
    }

    // detect available wheel event
    support = "onwheel" in document.createElement("div") ? "wheel" : // 各個(gè)廠商的高版本瀏覽器都支持"wheel"
              document.onmousewheel !== undefined ? "mousewheel" : // Webkit 和 IE一定支持"mousewheel"
              "DOMMouseScroll"; // 低版本firefox

    window.addWheelListener = function( elem, callback, useCapture ) {
        _addWheelListener( elem, support, callback, useCapture );

        // handle MozMousePixelScroll in older Firefox
        if( support == "DOMMouseScroll" ) {
            _addWheelListener( elem, "MozMousePixelScroll", callback, useCapture );
        }
    };

    function _addWheelListener( elem, eventName, callback, useCapture ) {
        elem[ _addEventListener ]( prefix + eventName, support == "wheel" ? callback : function( originalEvent ) {
            !originalEvent && ( originalEvent = window.event );

            // create a normalized event object
            var event = {
                // keep a ref to the original event object
                originalEvent: originalEvent,
                target: originalEvent.target || originalEvent.srcElement,
                type: "wheel",
                deltaMode: originalEvent.type == "MozMousePixelScroll" ? 0 : 1,
                deltaX: 0,
                deltaZ: 0,
                preventDefault: function() {
                    originalEvent.preventDefault ?
                        originalEvent.preventDefault() :
                        originalEvent.returnValue = false;
                }
            };
            
            // calculate deltaY (and deltaX) according to the event
            if ( support == "mousewheel" ) {
                event.deltaY = - 1/40 * originalEvent.wheelDelta;
                // Webkit also support wheelDeltaX
                originalEvent.wheelDeltaX && ( event.deltaX = - 1/40 * originalEvent.wheelDeltaX );
            } else {
                event.deltaY = originalEvent.detail;
            }

            // it's time to fire the callback
            return callback( event );

        }, useCapture || false );
    }

})(window,document);

這個(gè)是MDN 上推薦的兼容寫法,可以看到這幾個(gè)事件的順序是 wheel > mousewheel > DOMMouseScroll。如果使用wheel事件,event不做處理。否則,重新封裝了event。

3. 方向判斷

鼠標(biāo)滾輪的話,只有上、下兩個(gè)方向,但是如果是觸摸板的雙指行為的話,除了上、下以外,還有左、右方向,以及雙指向內(nèi)收縮、向外擴(kuò)張四種情況,接下來(lái),就對(duì)這幾種情況做判斷處理。
 

function wheelEvent (e) {
    if (Math.abs(e.deltaX) !== 0 && Math.abs(e.deltaY) !== 0) return console.log('沒(méi)有固定方向');
    if (e.deltaX < 0) return console.log('向右');
    if (e.deltaX > 0) return console.log('向左');
    if (e.ctrlKey) {
        if (e.deltaY > 0) return console.log('向內(nèi)');
        if (e.deltaY < 0) return console.log('向外');
    } else {
        if (e.deltaY > 0) return console.log('向上');
        if (e.deltaY < 0) return console.log('向下');
    }
}

經(jīng)過(guò)測(cè)試,delta是用來(lái)判斷方向最好的一個(gè)值,wheelDelta和detail都有各自的兼容等問(wèn)題。

deltaX是左右方向的滑動(dòng),deltaY是上下方向。

向里收縮是和向下滾動(dòng)相同,向外擴(kuò)張是和向上滾動(dòng)相同。這是正常的用戶習(xí)慣,但是麻煩的是事實(shí)剛好和我們的習(xí)慣相反,這樣單純依靠deltaY來(lái)判斷是區(qū)分不開(kāi)的。

經(jīng)過(guò)測(cè)試ctrlKey這個(gè)字段只有在雙指方向不一致時(shí),才會(huì)為true。這樣就能區(qū)分開(kāi)了,從而產(chǎn)生了6種情況,逐一處理。

所以上面的兼容寫法還需要將ctrlKey返回。

ctrlKey: originalEvent.ctrlKey || false,

這個(gè)問(wèn)題解決了,之后會(huì)抽時(shí)間把K線圖的代碼整理一下。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:赤峰 聊城 綏化 中山 萍鄉(xiāng) 金昌 盤錦 阿壩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《鼠標(biāo)滾輪事件和Mac觸控板雙指事件》,本文關(guān)鍵詞  鼠標(biāo),滾輪,事件,和,Mac,觸控,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《鼠標(biāo)滾輪事件和Mac觸控板雙指事件》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于鼠標(biāo)滾輪事件和Mac觸控板雙指事件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人做爰69片免费看网站| 中文字幕av一区二区三区高| 国产免费成人在线视频| 成人的网站免费观看| 日韩亚洲欧美在线| 精品亚洲国内自在自线福利| 国产午夜一区二区三区| 依依成人综合视频| 一本到不卡免费一区二区| 激情图片小说一区| 一区二区三区成人在线视频| 成人免费视频一区| 欧美一级免费观看| 一区二区三区欧美视频| 亚洲一区二区欧美| 久久久久国产成人精品亚洲午夜| 成人性生交大片免费看中文 | 亚洲欧美区自拍先锋| 国产高清亚洲一区| 亚洲美女少妇撒尿| 在线观看www91| av电影在线观看一区| 高清国产午夜精品久久久久久| av成人老司机| 亚洲欧美在线视频观看| 欧美中文字幕一区| 精品一区二区三区日韩| 久久久久国产精品人| 91污片在线观看| 日本视频一区二区三区| 一级日本不卡的影视| 国产精品人成在线观看免费| 欧洲视频一区二区| 亚洲一区二区中文在线| 自拍偷拍欧美精品| 久久精品无码一区二区三区| 欧美日韩mp4| 91一区在线观看| 91麻豆精品国产91久久久久| 亚洲一区二区欧美| 国产精品不卡在线| 日本道色综合久久| 免费不卡在线观看| 精品国产乱码久久久久久牛牛 | 91精品国产高清一区二区三区蜜臀| 中文字幕一区二区三| 欧美疯狂性受xxxxx喷水图片| 午夜精品久久久久影视| 1024国产精品| 亚洲日本欧美天堂| 欧美乱妇一区二区三区不卡视频| 国产综合色视频| 亚洲高清免费在线| 欧美精品第1页| 精品国精品自拍自在线| 7777精品久久久大香线蕉| 日本va欧美va瓶| 日韩精品五月天| 精品日韩一区二区| 日韩欧美电影一二三| 亚洲永久免费av| 亚洲欧美视频在线观看视频| 色哟哟一区二区三区| 粉嫩aⅴ一区二区三区四区| 丝袜美腿亚洲一区| 顶级嫩模精品视频在线看| 国产剧情一区在线| 国产一区中文字幕| 久久99国产精品免费网站| 韩日欧美一区二区三区| 在线观看欧美黄色| 一区二区三区精品视频| 国产一区二区在线观看视频| 99国产精品国产精品久久| 精品视频在线免费看| 国产精品三级av| 亚洲午夜电影在线| 国产精品国产三级国产| 国产成人啪午夜精品网站男同| 久久久久久久久久久久久久久99 | 一区二区三区欧美久久| 国产在线精品国自产拍免费| 欧美精三区欧美精三区| 欧美日韩国产首页在线观看| 夜夜亚洲天天久久| 在线免费观看成人短视频| 91电影在线观看| 国产日韩av一区| 久久夜色精品国产噜噜av| 国产成人免费视频一区| 亚洲品质自拍视频网站| 黑人巨大精品欧美黑白配亚洲| 久久久久久久网| 日韩一二三区视频| 综合婷婷亚洲小说| 亚洲精品视频免费看| 午夜一区二区三区在线观看| 色综合久久久久综合| 一区二区不卡在线视频 午夜欧美不卡在 | 91视频www| 国产网站一区二区三区| 亚洲妇熟xx妇色黄| 欧美一区二区三区婷婷月色| 在线观看日韩高清av| www亚洲一区| 中文字幕在线观看不卡| 亚洲国产精品视频| 色av成人天堂桃色av| 成人一二三区视频| 日韩一区国产二区欧美三区| 久久久久亚洲蜜桃| 国内外成人在线视频| 欧美精品久久久久久久久老牛影院| 92国产精品观看| 久久久综合精品| 国产福利一区二区三区视频在线| 国产一区二三区| 欧美日韩免费高清一区色橹橹| 亚洲第一狼人社区| 26uuu久久综合| 91在线看国产| 亚洲午夜免费电影| 99热精品国产| 亚洲黄色免费电影| 在线成人免费观看| 日韩一卡二卡三卡| 中文字幕中文字幕一区| 国产亚洲欧洲997久久综合| 国产精品少妇自拍| 国产不卡视频一区| 亚洲欧美综合色| 日韩av中文在线观看| 成人午夜激情片| 久久精品欧美一区二区三区麻豆| 国产精品久久网站| 国产日韩v精品一区二区| 久久精品欧美一区二区三区不卡| 亚洲人成7777| 男男视频亚洲欧美| 中文字幕在线不卡一区| 亚洲成人av一区二区三区| 蓝色福利精品导航| 精品久久久久久最新网址| 亚洲国产精品自拍| 欧美一区二区三区视频在线| 日日夜夜一区二区| 欧美性欧美巨大黑白大战| 中文字幕欧美区| 国产精品888| 亚洲视频在线观看三级| 久久99国产精品久久99果冻传媒| 亚洲视频综合在线| 777亚洲妇女| 激情五月激情综合网| 中文字幕第一区第二区| 国产综合色产在线精品| 欧美高清在线精品一区| 国产精品久久久久一区| 日韩精品自拍偷拍| 在线视频一区二区三| 欧美日韩精品二区第二页| 午夜精品福利久久久| 在线一区二区观看| 久久久久九九视频| 亚洲色大成网站www久久九九| 三级影片在线观看欧美日韩一区二区 | 在线免费不卡视频| 久久99精品久久久久久国产越南| 国产精品乱码一区二区三区软件| 99视频在线观看一区三区| 欧美a一区二区| 国产精品免费视频一区| 欧美日本精品一区二区三区| 久久久美女毛片| 国产精品色婷婷| 26uuu久久综合| 在线国产亚洲欧美| 偷偷要91色婷婷| 中文字幕亚洲成人| 日韩1区2区日韩1区2区| 久久久精品免费网站| 不卡的电影网站| 奇米888四色在线精品| 成人在线综合网| 日韩欧美亚洲国产精品字幕久久久 | 亚洲人成人一区二区在线观看 | 中文字幕一区二区三区不卡在线 | 精品视频色一区| 成人av网站在线| 91麻豆蜜桃一区二区三区| 在线观看免费一区| 欧美理论电影在线| 欧美电影免费观看完整版| 欧美成人一区二区三区| 国产亚洲一区二区在线观看| 国产精品第13页| 亚洲成人免费视| 国产综合色精品一区二区三区| 成人丝袜高跟foot| 欧美日韩一区不卡|