事件對(duì)象及實(shí)例

事件對(duì)象: event
兼容性: 兼容 Chrome IE系列 不兼容FireFox
在FF里: ev 系統(tǒng)傳過(guò)來(lái)的事件
事件 = function(ev){
event 兼容 除了FF
ev 兼容性 FF Chrome IE9+
解決: var oEvent = ev || event;
var oEvent = event || ev; // × 因?yàn)閑vent在FF下報(bào)錯(cuò)
}
var oEvent = ev || event;
事件冒泡:
子元素的事件會(huì)傳遞到父元素,如果父元素有這個(gè)事件扁掸,那就執(zhí)行
如果父元素沒(méi)有這個(gè)事件翘县,再向上找
//阻止冒泡
oEvent.cancelBubble = true;

onkeydown -- 當(dāng)鍵盤(pán)按下的時(shí)候
onkeyup -- 當(dāng)鍵盤(pán)抬起的時(shí)候

事件詳情: var oEvent = ev || event;
keyCode:  是數(shù)字,而且是一些連續(xù)的數(shù)字
    A   65
    B   66
      
    a    97

    0   48
    1   49
    2   50

    上   38
    下   40
    左   37
    右   39

    空格  32
    回車  13
    ctrl    17
    alt 18
    shift 16

    退格  8
    組合:
        oEvent.ctrlKey;
        oEvent.altKey;
        oEvent.shiftKey;

阻止默認(rèn)行
return false; 兼容:chrome ff ie9+
針對(duì)低級(jí)瀏覽器:
事件捕獲 obj.setCapture();
事件綁定
綁定:addEventListener('click',fn,false);
解綁:removeEventListener('click',fn,false);
綁定:attachEvent('onclick',fn);
解綁:detachEvent('onclick',fn);
捕獲:事件下沉 和 事件冒泡對(duì)應(yīng)的

        function addEvent(obj,sEv,fn){
            if(obj.addEventListener){
                obj.addEventListener(sEv,fn,false);
            }
            else{
                obj.attachEvent('on'+sEv,fn)
            }
        }

拖拽:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{margin:0; padding:0;}
        #div1{
            width: 100px;
            height: 100px;
            background: red;
            position: absolute;
            left:200px;
            top:200px;
        }
    </style>
    <script>
        window.onload = function(){
            var oDiv = document.getElementById('div1');
            oDiv.onmousedown = function(ev){
                var oEvent = ev || event;
                var disX = oEvent.clientX - oDiv.offsetLeft;
                var disY = oEvent.clientY - oDiv.offsetTop;
                document.onmousemove = function(ev){
                    var oEvent = ev || event;
                    var l = oEvent.clientX - disX;
                    var t = oEvent.clientY  - disY;

                    if(l <= 100){
                        l = 0;
                    }
                    if (l >= (document.documentElement.clientWidth - oDiv.offsetWidth-100)){
                        l = document.documentElement.clientWidth - oDiv.offsetWidth;
                    }
                    if(t <= 100){
                        t = 0;
                    }
                    if(t >= (document.documentElement.clientHeight - oDiv.offsetHeight-100)){
                        t = document.documentElement.clientHeight - oDiv.offsetHeight;
                    }
                    oDiv.style.left = l + 'px';
                    oDiv.style.top = t + 'px';
                };
                document.onmouseup = function(){
                    document.onmousemove = null;
                    document.onmouseup = null;
                    oDiv.releaseCapture && oDiv.releaseCapture();
                };
                oDiv.setCapture && oDiv.setCapture();
                return false;

            };
        };
    </script>
</head>
<body>
<div id="div1"></div>
</body>
</html> 

滾輪事件:

function addEvent(obj,sEv,fn){
           if(obj.addEventListener){
               obj.addEventListener(sEv,fn,false);
           }
           else{
               obj.attachEvent('on'+sEv,fn);
           }
       }
       function addWheel(obj,fn){  
           function wheel(ev){
               var oEvent = ev || event; 
               var bDown =  oEvent.wheelDelta ? oEvent.wheelDelta>0 : oEvent.detail>0; 
               fn && fn(bDown);
           }
           if(window.navigator.userAgent.toLowerCase().indexOf('firefox') != -1){
               addEvent(document,'DOMMouseScroll',wheel) 
           }else{
               addEvent(document,'mousewheel',wheel)
           }
       } 
       addWheel(document,function(bDown){
           if(bDown){
               alert('下');
           }
           else{
               alert('上');
           }
       }); 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谴分,一起剝皮案震驚了整個(gè)濱河市锈麸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牺蹄,老刑警劉巖忘伞,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡氓奈,警方通過(guò)查閱死者的電腦和手機(jī)匿刮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人璃氢,你說(shuō)我怎么就攤上這事讽膏。” “怎么了缅叠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我怀大,道長(zhǎng),這世上最難降的妖魔是什么呀闻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任化借,我火速辦了婚禮,結(jié)果婚禮上捡多,老公的妹妹穿的比我還像新娘蓖康。我一直安慰自己,他們只是感情好垒手,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布蒜焊。 她就那樣靜靜地躺著,像睡著了一般科贬。 火紅的嫁衣襯著肌膚如雪泳梆。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天榜掌,我揣著相機(jī)與錄音优妙,去河邊找鬼。 笑死憎账,一個(gè)胖子當(dāng)著我的面吹牛套硼,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鼠哥,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼熟菲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了朴恳?” 一聲冷哼從身側(cè)響起抄罕,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎于颖,沒(méi)想到半個(gè)月后呆贿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年做入,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冒晰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竟块,死狀恐怖壶运,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情浪秘,我是刑警寧澤蒋情,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站耸携,受9級(jí)特大地震影響棵癣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜夺衍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一狈谊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧沟沙,春花似錦河劝、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至含衔,卻和暖如春煎娇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贪染。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工缓呛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杭隙。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓哟绊,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親痰憎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子票髓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 一、DOM 什么是DOM铣耘?Document Object Model(文檔對(duì)象模型)洽沟。DOM是針對(duì)HTML和XML...
    空谷悠閱讀 963評(píng)論 0 2
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)蜗细、<...
    clark124閱讀 3,462評(píng)論 1 19
  • 轉(zhuǎn)載 前端開(kāi)發(fā)面試題 <a name='preface'>前言</a> 本文由我收集總結(jié)了一些前端面試題裆操,初學(xué)者閱...
    小九喵喵閱讀 461評(píng)論 0 0
  • @轉(zhuǎn)自GitHub 介紹js的基本數(shù)據(jù)類型怒详。Undefined、Null踪区、Boolean昆烁、Number、Strin...
    YT_Zou閱讀 1,147評(píng)論 0 0
  • 如果一個(gè)人能做一塊心胸開(kāi)闊缎岗,有建設(shè)性思維的海綿静尼,便能有容乃大,從萬(wàn)事萬(wàn)物上都能汲取養(yǎng)分传泊,也能真真正正地學(xué)到更多茅郎。但...
    巧克力媽媽閱讀 83評(píng)論 0 0