1. 程式人生 > >JavaScript中click和keypress事件繫結的順序

JavaScript中click和keypress事件繫結的順序

1. click事件的覆蓋

當在同一個元素上繫結兩個click事件時,後一個會覆蓋前一個。

例如:

div.onclick=function(){
    console.log('click1');
};
div.onclick=function(){
    console.log('click2');
}
此時,單擊div,輸出click2.

2. click事件的分解

click=mousedown+focus+mouseup;

例如:

<input type='text' id='input'>
var input=document.getElementById('input');
input.onclick=function(){
    console.log('click');
}
input.onmousedown=function(){
    console.log('mousedown');
}
input.onfocus=function(){
    console.log('focus');
}
input.onmouseup=function(){
    console.log('mouseup');
}
此時,單擊input標籤,將依次輸出mousedown, focus, mouseup, click。

3. keypress事件分解
input.onkeypress=function(){
    console.log('keypress');
}
input.onkeydown=function(){
    console.log('keydown');
}
input.onkeyup=function(){
    console.log('keyup');
}
此時,按下key鍵,依次輸出keydown, keypress, keyup。