事件冒泡或事件捕獲
addEventListener(event, function, useCapture);
默認值為 false, 即冒泡傳遞,當值為 true 時, 事件使用捕獲傳遞。
取消事件冒泡
~~~
function stopBubble(event){
if(event.stopPropagation){
event.stopPropagation();
}else{
event.cancelBubble = true;
}
}
~~~
鼠標事件
click:點擊 = (mousedown:按下+mouseup:彈起)
mousemove:移動
mouseover:鼠標蓋住當前區域=mouseenter
mouseout:鼠標移出當前區域=mouseleave
contextmenu:監聽右鍵,常用語取消菜單
用e.button獲取鼠標的按鍵,0:左鍵,1:滾輪,2:右鍵
鼠標點擊拖拽移動
~~~
div.onmousedown = function (e) {
disX = e.pageX - parseInt(div.style.left);
disY = e.pageY - parseInt(div.style.top);
document.onmousemove = function (e) {
var event = e || window.event;
div.style.left = e.pageX - disX + "px";
div.style.top = e.pageY - disY + "px";
}
document.onmouseup = function (e) {
document.onmousemove = null;
}
}
~~~
鍵盤事件
keydown:鍵盤按下,可以響應**任意**鍵盤按鍵,但是無法區分大小寫
keypress:只可以響應**字符類**鍵盤按鍵,返回ASCII碼。可以轉換成相應的字符
keyup:鍵盤彈起