为了账号安全,请及时绑定邮箱和手机立即绑定

Web前端基礎知識

标签:
JavaScript

請多指教。

今天來講講關於默認事件,事件冒泡,事件委託,鍵盤事件,鼠標事件。

1.默認事件:瀏覽器都帶有很多默認的事件,如:鼠標左鍵的默認事件:按下后拖拽圖片或選中單選框或複選框;鼠標右鍵的默認事件:彈出瀏覽器的屬性菜單。

通常我們要阻止他,使用:e.preventDefault();  

左鍵阻止:這只能阻止左鍵的不能阻止右鍵

<input type="checkbox" id="btn">
btn.onmousedown=function(e){
//e.button是判斷是右鍵還是左鍵:0為左,1為中,2為右
    if(e.button==0  ){
        e.preventDefault();
    }

}

右鍵阻止:oncontextmenu:代表的是鼠標右鍵事件

dom.oncontextmenu=function (e) {
    e.preventDefault();
}

2.事件冒泡:事件發生后(從里到外或從外到里)的傳播。

很多時候我們都要阻止它:e.stopPropagation();或e.cancelBubble=true;

3.事件委託:就是利用事件冒泡,只指定一個事件處理程序,就可以管理這一類的事件。相當於將他全部丟給它的父元素即可。

4.鍵盤事件:

                 keydown:當用戶按下鍵盤上的任意鍵時觸發,若是按住不放會持續觸發此事件;

                 keyup:當用戶釋放鍵盤上的鍵時觸發;

                keypress:當用戶按下鍵盤上的字符鍵時(除去shift,alt,ctrl之類的鍵),若是按住不放會持續觸發此事件;

常用於判斷按下了什麼鍵:通過event.keyCode;

實例:判斷是否按下了enter鍵:

document.onkeydown=function(e){
if(e.keyCode==13){
alert("按下的鍵時Enter鍵")
}
}

5.鼠標事件:常用的就是拖拽某個元素時,要獲取鼠標的位置。

在使用它前要考慮瀏覽器兼容:e=e||window.event;

在使用它之前要分清楚:clientX,pageX,offsetX,screenX三者的區別:

clientX:點擊位置距離body的可視區域(不包括滾動條隱藏的部分)的距離;

pageX:點擊位置距離body的距離(包括滾動條隱藏的部分);

offsetX:點擊位置距離父元素的邊緣的距離;

screenX:點擊位置距離當前電腦屏幕的距離;

判斷是觸發了哪個鼠標按鈕:e.button;

<input type="checkbox" id="btn">
btn.onmousedown=function(e){
//e.button是判斷是右鍵還是左鍵:0為左,1為中,2為右
    if(e.button==0  ){
       alert("左鍵"); 
    }
    else if(e.button==1){
       alert("中鍵"); 
    }
    else if(e.button==2){
       alert("右鍵"); 
    }

}



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消