1.鍵盤事件
/*
鍵盤事件
onkeydown:當鍵盤按鍵按下的時候觸發
onkeyup:當鍵盤按鍵抬起的時候觸發
event.keyCode:數字類型 鍵盤按鍵的值 鍵值
ctrlKey,shiftKey,altKey 布爾值
當一個事件發生的時候,如果ctrl或者shift或者alt是按下的狀態,返回true,否則返回false;
注意:不是所有元素都能夠接收鍵盤事件,能夠響應用戶輸入的元素,能夠接收焦點的元素就能夠接收鍵盤事件
* */
//document.onkeydown=function(ev){
// var ev=ev||event;
//// alert(ev.keyCode);
//}
document.onclick=function(ev){
var ev=ev||event;
//點擊doucument的時候,當ctrl鍵按下時彈出true,抬起時彈出false
alert(ev.ctrlKey);
}
按鍵控制div移動(及解決卡頓問題)
var oDiv=document.getElementById("div1");
//創建各個方向條件判斷初始變量
var Left=false;
var Right=false;
var Top=false;
var Bottom=false;
//當按鍵按下時,對應方向的按鍵條件變為true
document.onkeydown=function(ev){
var ev=ev||event;
switch (ev.keyCode){
case 38:
Top=true;
break;
case 40:
Bottom=true;
break;
case 37:
Left=true;
break;
case 39:
Right=true;
break;
}
}
//當按鍵抬起時,對應方向的按鍵條件變為false
document.onkeyup=function(ev){
var ev=ev||event;
switch (ev.keyCode){
case 38:
Top=false;
break;
case 40:
Bottom=false;
break;
case 37:
Left=false;
break;
case 39:
Right=false;
break;
}
}
setInterval(function(){
//當其中的一個條件為true時,則執行當前函數
if(Right){
oDiv.style.left=oDiv.offsetLeft+10+'px';
}else if(Left){
oDiv.style.left=oDiv.offsetLeft-10+'px';
}else if(Top){
oDiv.style.top=oDiv.offsetTop-10+'px';
}else if(Bottom){
oDiv.style.top=oDiv.offsetTop+10+'px';
}
},50)
2.取消默認事件
自定義右鍵菜單
/*
阻止默認事件
分析當前這個行為是什么事件觸發的,然后在這個事件的處理函數中使用return false;就可以阻止默認事件
oncontextmenu:右鍵菜單事件,當右鍵菜單(環境菜單)顯示出來的時候觸發
* */
//自定義右鍵菜單
var oDiv=document.getElementById("div1");
//點擊右鍵菜單顯示
document.oncontextmenu=function(ev){
var ev=ev||event;
//鼠標值
var Left=ev.clientX;
var Top=ev.clientY;
//菜單根據鼠標的位置定位
oDiv.style.left=Left+'px';
oDiv.style.top=Top+'px';
oDiv.style.display="block";
//阻止默認事件
return false;
}
//點擊document菜單消失
document.onclick=function(){
oDiv.style.display="none";
}