淺談js事件

一:js事件分為四大類:先說說常用的一些屬性

1.鍵盤事件:
onkeydown 鍵盤按下
onkeyup 鍵盤抬起
onkeypress 鍵盤按下
2.鼠標(biāo)事件:
注意:out和over會在鼠標(biāo)從父級移入子級的時候觸發(fā)虎敦,而enter和leave只有在移入和移出子級整體的時候觸發(fā)
onmoveover 鼠標(biāo)移入
onmouseout 鼠標(biāo)移出
onmouseenter 鼠標(biāo)移入
onmouseleave 鼠標(biāo)移出
onmousedown 鼠標(biāo)按下
onmouseup 鼠標(biāo)抬起
ondblclick 鼠標(biāo)雙擊
oncontextmenu 鼠標(biāo)右鍵
3.表單事件:
onsubmit 表單提交:點(diǎn)擊的是提交按鈕碗殷,form表單觸發(fā)onsubmit
onreset 表單重置
onfocus 獲取焦點(diǎn)
__注意:一些事件中,系統(tǒng)會有默認(rèn)事件觸發(fā),比如右鍵的時候會彈出來菜單,比如按了提交按鈕跳轉(zhuǎn)網(wǎng)頁。這些都是默認(rèn)事件。默認(rèn)事件可以被阻止

return false;

4.移動端事件
ontouchstart 相當(dāng)于鼠標(biāo)按下onmousedown
ontouchmove 相當(dāng)于鼠標(biāo)移動onmousemove
ontouchend 等價于 鼠標(biāo)抬起onmouseup

二:事件對象

以keydown為例
注意:keydown支持特殊按鍵,如:command shift 但不區(qū)分大小寫 A 和 a 的keyCode都是65; keypress不支持特殊按鍵,keyCode區(qū)分大小寫

document.onkeydown = function(ev){
        // 獲取事件對象可以使用window.event龟虎,注意:在火狐或取不到    
        // 在火狐需要通過參數(shù)獲取
        // 兼容寫法
        var evObj = window.event || ev;
        console.log(evObj.keyCode);
        // 如何判斷是否按了組合鍵
        if(evObj.keyCode == 67 && evObj.metaKey){
                console.log("按了command + c");
            }
}

1.evObj.keyCode 每個按鍵對應(yīng)一個數(shù)字編碼
2.evObj.target 觸發(fā)了事件的元素,觸發(fā)事件的元素不一定是綁定事件的元素
3.evObj.offsetX/Y 鼠標(biāo)距離自身的距離
4.evObj.clientX/Y 鼠標(biāo)距離屏幕的距離
5.evObj.pageX/Y 鼠標(biāo)距離頁面的距離

三:事件綁定

第一種就是上面例子代碼沙庐,但第一種不能綁定多個事件鲤妥;而下面的這種可以綁定多個事件佳吞。
1.非IE綁定事件的方法
格式: 元素.addEventListener("不包含on的事件名",時間對應(yīng)的函數(shù),是否在鋪獲階段觸發(fā)false這或者true);

    redDiv.addEventListener("click",function(){
        console.log("2");
     },false);

2.IE綁定事件的方法

    redDiv.attachEvent("click",function(){
        console.log("2");
     },false);

3.兼容寫法

**** 參數(shù):
****    element:代表要綁定的事件
****    type:要綁定的事件名(不含on)
****    fn:要綁定的事件對應(yīng)的函數(shù)
function addEvent(element,type,fn){
        if(element.addEventListener){
            element.addEventListener(type,fn,false);
        }else if(element.attachEvent){
            element.attachEvent("on" + type,fn);
        }else{
            element["on" + type]= fn;
        }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市棉安,隨后出現(xiàn)的幾起案子底扳,更是在濱河造成了極大的恐慌,老刑警劉巖贡耽,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衷模,死亡現(xiàn)場離奇詭異,居然都是意外死亡蒲赂,警方通過查閱死者的電腦和手機(jī)阱冶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滥嘴,“玉大人木蹬,你說我怎么就攤上這事∪糁澹” “怎么了镊叁?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長是尖。 經(jīng)常有香客問我意系,道長泥耀,這世上最難降的妖魔是什么饺汹? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮痰催,結(jié)果婚禮上兜辞,老公的妹妹穿的比我還像新娘。我一直安慰自己夸溶,他們只是感情好逸吵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缝裁,像睡著了一般扫皱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捷绑,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天韩脑,我揣著相機(jī)與錄音,去河邊找鬼粹污。 笑死段多,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的壮吩。 我是一名探鬼主播进苍,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼加缘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了觉啊?” 一聲冷哼從身側(cè)響起拣宏,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎柄延,沒想到半個月后蚀浆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搜吧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年市俊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滤奈。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡摆昧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜒程,到底是詐尸還是另有隱情绅你,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布昭躺,位于F島的核電站忌锯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏领炫。R本人自食惡果不足惜偶垮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帝洪。 院中可真熱鬧似舵,春花似錦、人聲如沸葱峡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砰奕。三九已至蛛芥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間军援,已是汗流浹背仅淑。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盖溺,地道東北人漓糙。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像烘嘱,于是被迫代替她去往敵國和親昆禽。 傳聞我的和親對象是個殘疾皇子蝗蛙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353

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

  • 總結(jié): 鼠標(biāo)事件 1.click與dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r閱讀 1,605評論 2 10
  • 第1章 鼠標(biāo)事件 1-1 jQuery鼠標(biāo)事件之click與dbclick事件 用交互操作中,最簡單直接的操作就是...
    mo默22閱讀 1,275評論 0 6
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點(diǎn)的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點(diǎn)是DOM的常...
    凜0_0閱讀 1,338評論 0 8
  • 事件流 IE和Netscape開發(fā)團(tuán)隊提出了完全相反的兩種事件流的概念醉鳖,事件冒泡流和事件捕獲流捡硅。 事件冒泡 事件由...
    exialym閱讀 935評論 0 9
  • 作為學(xué)生,好好念書盗棵,算是最穩(wěn)妥最中規(guī)中矩的一條路了壮韭。如果你能力夠強(qiáng)、目標(biāo)明確纹因,那你盡可以去做你喜歡的事喷屋。但如果你目...
    午后y閱讀 228評論 0 0