js怎么禁止键盘跳出

JavaScript013

js怎么禁止键盘跳出,第1张

1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键,其实是禁止快捷菜单,因为不光右键可以弹出这个菜单,键盘上空格键右边的windows键也可以激活这个快捷菜单 <table border oncontextmenu=return(false)><td>no</table>可用于Table 2. <body onselectstart="return false">禁止选取、防止复制 3. onpaste="return false" 禁止粘贴 4. oncopy="return false" oncut="return false" 禁止复制和剪切 5. <input style="ime-mode:disabled">关闭输入法

用keydown和keyup事件同时进行控制,比如有一个变量,当该按键摁下时为false,按键摁起是为true。

我的代码里你只需要修改两处就可以了。一个是preventCode,将你所需要的按键的键值存进去;另一个是 // 只执行一次  的地方,填写你所要执行的事件。

<div id="main"></div>

<script type="text/javascript">

(function() {

var preventCode = [13, 32, 37, 38, 39, 40] // 要只执行一次事件的按键的键值,此处屏蔽的按键依次是:enter、空格、左、上、右、下

var isRunning   = [] // 不用管

document.onkeydown = keyDown

document.onkeyup   = keyUp

function keyDown(event){

event = event || window.event

var keycode = event.which || event.keyCode

if(preventCode.in_array(keycode)>=0){

if(typeof isRunning[keycode] == "undefined" || isRunning[keycode]==false){

isRunning[keycode] = true

// 只执行一次的事件

var myDate = new Date()

// $("#main").html(myDate.getTime())

document.getElementById("main").innerHTML = myDate.getTime()

}

}else{

// 连续执行的事件

}

}

function keyUp(event){

event = event || window.event

var keycode = event.which || event.keyCode

if(preventCode.in_array(keycode)>=0){

isRunning[keycode] = false

}

}

// 检测数组中是否有某值

Array.prototype.in_array = function(c){

for(i=0i<this.length && this[i]!=ci++)

return (i==this.length) ? -1 : i

}

})()

</script>

<script>

document.onkeydown=keydown

function keydown(){

return false

}

</script>

<body>

<input type="text">

</body>

把这段代码另存为test.html试试效果吧