事件機制

1.事件:

click
dbclick
mouseover
mouseout
mouseenter
mouseleave
onload
change
blur
input
submit
focus
scroll
resize


2. 鼠標的點擊位置?

鍵盤按鍵?

如果對一個標簽設置了點擊事件之后,沒有效果?
1.有沒有報錯。
2.事件有沒有寫錯
3.元素有沒有獲取到

document是整個文檔的父級。
event對象是事件發(fā)生的時候產(chǎn)生的一個對象。但是FF不支持。


3. 獲取一個兼容的event對象。

var ev = ev || event ;

event.clientX:相對于窗口可視區(qū)域的X坐標
event.clientY:相對于窗口可視區(qū)域的Y坐標

封裝的鼠標點擊位置的坐標獲取方法。
function getPos(ev){
var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
return {
left:scrollLeft+ev.clientX,
top:scrollTop + ev.clientY
};
}


4.事件流

事件冒泡:事件冒泡就是內(nèi)層元素的事件會隨著文檔流向上冒泡,
如果上層具有相同的事件,那么這個事件也會響應。直到冒泡到頂層對象document。

event.cancelBubble = true; //停止冒泡

5. 鍵盤事件

keydown
keypress
keyup
按鍵的編碼 。 ev.keyCode
按鍵編碼是連續(xù)的。0-9,a-z

ctrlKey、shiftKey、altKey 這個是鍵盤事件的功能鍵,如果這些鍵按下的話,對應的key值是true。這樣可以實現(xiàn)多按鍵操作。
Ctrl+enter
ctrl+c
ctrl+v


6.鼠標右鍵的菜單事件 on contextmenu

return false ; 能夠阻止事件的默認行為。

7.拖拽事件

復合事件
首先是鼠標按下,然后是鼠標移動。然后是鼠標放開。自己理解。

var d = document.querySelector('div');
d.onmousedown = function(ev){
var ev = ev || event;
var x = ev.clientX - d.offsetLeft;
var y = ev.clientY-d.offsetTop;
d.onmousemove = function(ev){
var ev = ev || event;
d.style.left = ev.clientX - x + 'px';
d.style.top = ev.clientY - y + 'px';
};
d.onmouseup = function(){
d.onmousemove = function(){};
};
};

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過事件實現(xiàn)的。 ??事件,就是文檔或瀏覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,701評論 1 11
  • 事件對象 鼠標事件 event.clientX在可視區(qū)中,鼠標點擊的x坐標 event.clientY在可視區(qū)中,...
    LaBaby_閱讀 672評論 0 1
  • js之事件機制 1、事件初探 1.1 js事件的概述 JavaScript事件:JavaScript是基于事件驅(qū)動...
    道無虛閱讀 2,632評論 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,825評論 1 45
  • 1. tab列表折疊效果 html: 能源系統(tǒng)事業(yè)部 崗位名稱: 工作地點 崗位名...
    lilyping閱讀 2,015評論 0 1

友情鏈接更多精彩內(nèi)容