javascript基礎(鍵盤事件)(三十八)
1鍵盤事件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
window.onload = function(){
/*
* 鍵盤事件一般都要繫結給可以獲取焦點的元素(一般指表單項),或者是document
*
* onkeydown
* - 按鍵按下事件
* onkeyup
* - 按鍵鬆開事件
*
*/
//為document繫結一個按鍵按下事件
/*
* 當按下鍵盤上的一個按鍵一直不鬆開時,會連續的觸發onkeydown事件,
* 但是第一次觸發和第二次觸發的間隔會比較長,而第二次以後會一直連續觸發
* 這種設計是為了防止誤操作
*/
document.onkeydown = function(event){
event = event || window.event;
//獲取按的是哪個按鍵
/*
* event中有一個keyCode,可以用來獲取當前按鍵的編碼
* 可以通過keyCode來識別使用者按下的按鍵
*
* 除了keyCode,還提供了三個屬性
* altKey
* ctrlKey
* shiftKey
* - 專門用來判斷alt ctrl shift是否被按下
* 如果按下返回true,沒有返回false
*/
//console.log(event.keyCode);
//console.log(event.ctrlKey);
//判斷e和ctrl是否被同時按下
/*if(event.keyCode == 69 && event.ctrlKey){
console.log("e和ctrl被按下了~~~");
}*/
};
/*document.onkeyup = function(){
console.log("按鍵鬆開了");
};*/
var inp = document.getElementById("inp");
inp.onkeydown = function(event){
event = event || window.event;
//console.log(event.keyCode);
//console.log("按下了");
//在文字框中輸出文字,是onkeydown的預設行為
//如果在最後取消了預設行為,則不會在文字框中顯示內容
//return false;
/*
* 使使用者不能在文字框中輸入數字
*/
//判斷使用者輸入的是否是數字
if(event.keyCode >= 48 && event.keyCode <= 57){
//如果是數字,則取消預設行為
return false;
}
};
};
</script>
</head>
<body>
<input id="inp" type="text" />
</body>
</html>
練習:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#box1{
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
</style>
<script type="text/javascript">
window.onload = function(){
/*
* 使div可以根據不同的按鍵向不同的方向移動
*/
//獲取box1
var box1 = document.getElementById("box1");
//繫結一個按鍵按下的事件
document.onkeydown = function(event){
event = event || window.event;
//建立一個變數來表示速度
var speed = 10;
//如果使用者按了ctrl鍵,則加速
if(event.ctrlKey){
speed = 100;
}
//判斷哪個按鍵被按下
/*
* 左 37 右 39
* 上38 下 40
*
*/
switch(event.keyCode){
case 37 :
//使div向左移動 , 減少left屬性值
box1.style.left = box1.offsetLeft - speed + "px";
break;
case 39 :
//使div向右移動 , 增加left屬性值
box1.style.left = box1.offsetLeft + speed + "px";
break;
case 38 :
//使div向上移動 , 減少top屬性值
box1.style.top = box1.offsetTop - speed + "px";
break;
case 40 :
//使div向上移動 , 增加top屬性值
box1.style.top = box1.offsetTop + speed + "px";
break;
}
};
};
</script>
</head>
<body>
<div id="box1"></div>
</body>
</html>
相關文章
- javascript監聽鍵盤事件JavaScript事件
- javascript鍵盤事件程式碼例項JavaScript事件
- javascript事件基礎知識JavaScript事件
- JavaScript基礎之事件eventJavaScript事件
- 鍵盤事件事件
- javascript基礎(事件物件)(三十一)JavaScript事件物件
- 滑鼠、鍵盤事件事件
- javascript基礎(事件的委派)(三十三)JavaScript事件
- javascript基礎(事件的冒泡)(三十二)JavaScript事件
- 『心善淵』Selenium3.0基礎 — 12、Selenium操作滑鼠和鍵盤事件事件
- 20個優秀的JavaScript 鍵盤事件處理庫JavaScript事件
- 監聽鍵盤事件事件
- AngularJs 鍵盤事件和滑鼠事件AngularJS事件
- jQuery 事件(一) 滑鼠與鍵盤事件jQuery事件
- javascript基礎(滾輪的事件)(三十七)JavaScript事件
- javascript基礎(事件的傳播)(三十五)JavaScript事件
- javascript基礎(事件的繫結)(三十四)JavaScript事件
- VC++基礎 判斷鍵盤訊息C++
- jquery鍵盤常見事件---jQuery事件
- js中的鍵盤事件JS事件
- 鍵盤監聽事件--向左事件
- 表單事件與鍵盤事件學習事件
- js中獲取鍵盤事件JS事件
- JavaScript的基礎語法及DOM元素和事件JavaScript事件
- javascript基礎(滑鼠事件拖拽,setCapture()方法)(三十六)JavaScript事件APT
- tkinter中滑鼠與鍵盤事件(十五)事件
- Query鍵盤事件簡單介紹事件
- UITextView: 響應鍵盤的 return 事件UITextView事件
- jQ基礎篇–$(document).ready()和JavaScript onload事件JavaScript事件
- JS基礎 ---事件JS事件
- JavaScript滑鼠中鍵滾動事件JavaScript事件
- javascript基礎JavaScript
- Android 軟鍵盤響應事件解析Android事件
- javascript基礎(DOM物件概述,事件,文件載入)(二十五)JavaScript物件事件
- 電腦鍵盤功能基礎知識 電腦鍵碟符號快捷鍵大全介紹符號
- vuejs鍵盤事件不生效解決方式VueJS事件
- vue的監聽鍵盤事件的快捷方法Vue事件
- Java中的鍵盤監聽事件KeyListenerJava事件