JS 如何实现按下Esc按键全选文本框中的文本内容?

JavaScript023

JS 如何实现按下Esc按键全选文本框中的文本内容?,第1张

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<div>文本框:</div>

<textarea>按下ESC选中我</textarea>

<script src="jquery.min.js" ></script>

<script type="text/javascript">

function hotkey()

{

var a=window.event.keyCode

if(a==27)

{

$('textarea').select()

}

}

// 初始化加载

$(document).ready(function () {

document.onkeydown = hotkey

})

</script>

</body>

</html>

首先选择器写法就不对

document.getElementsByName['game'],至少这么写

其次

由于你所有input标签所有的name属性都不一样,不能批量选择,除非像楼上贴代码那哥们一样,把所有的复选框的name属性都改为game也可以。如果纯粹是为了达到目的话用document.getElementsByTagName("input"),能达到效果

另外,楼上也提到了,判断的等号==

还有提醒楼主一下,不要反复的使用选择器,少量代码无所谓,大量代码的情况下会降低运算效率的。

在楼主的代码基础上改了一下

//全选

function test()

{

  obj = document.getElementsByTagName("input")

for(var i=0i<obj.length-3i++)

{

var f=obj[i]

if(f.checked==false)

{

f.checked=true

}

}

}

//反选

function ftest()

{

obj = document.getElementsByTagName("input")

for( var i=0i<obj.length-3i++)

{

f=obj[i]

if(f.checked==false)

{

f.checked=true

}

else

{

f.checked=false

}

}

}

//全部取消

function CancelAll()

{

obj = document.getElementsByTagName("input")

for( var i=0i<obj.length-3i++)

{

f=obj[i]

if(f.checked==true)

{

f.checked=false

}

}

}

<!DOCTYPE html>

<html>

<head>

  <title>test page</title>

  <meta http-equiv="content-type" content="text/htmlcharset=utf-8">

</head>

<body>

<input type="checkbox" name="sports[]" value="0">足球<br>

<input type="checkbox" name="sports[]" value="10">篮球<br>

<input type="checkbox" name="sports[]" value="20">排球<br>

<input type="checkbox" name="sports[]" value="30">乒乓球<br>

<input type="checkbox" name="sports[]" value="40">羽毛球<br>

<input type="checkbox" name="sports[]" value="50">橄榄球<br>

<input type="checkbox" name="sports[]" value="60">冰球<br>

<input type="checkbox" name="sports[]" value="70">曲棍球<br>

<input type="checkbox" name="sports[]" value="80">同求<br><br>

<input type="checkbox" id="chkAll" onclick="chkAll(this)">全选

<script type="text/javascript">

  var objs = document.getElementsByName('sports[]')

  function chkAll(obj){

    for (var i = objs.length - 1 i >= 0 i--) {

      objs[i].checked = obj.checked

    }

  }

</script>

</body>

</html>