我的情况很简单。让我们先面对html代码=>
<form name="geoKey" method="post" action="index.php">
<fieldset class="gKey">
<legend><input type="checkbox" name="checkUncheck" id="checkUncheck"></legend>
<textarea name="txt" id="txt" cols="34" rows="5"></textarea>
</fieldset>
</form>
这里是javascript =&gt;
function keyPress(e){
var key;
var box = document.getElementById("checkUncheck");
if (window.event){
key = event.keyCode;
} else {
key = e.which;
}
if (key==192){
(box.checked) ? box.checked=false : box.checked=true;
}
}
window.onload = function(){
document.onkeyup = keyPress;
};
所以,就像你看到人们按下按键(编号为192)一样,复选框正在检查它是否未被检查,否则也是(这一切都很好),但这里有一个问题=&gt;我希望如果光标聚焦在textarea上并按下textarea中的那个键(192)不写任何东西。请帮助,谢谢:)
答案 0 :(得分:1)
使用onkeydown
代替,并使用e.preventDefault
阻止默认的浏览器操作:
function keyPress(e){
var key;
var box = document.getElementById("checkUncheck");
if (window.event){
key = event.keyCode;
} else {
key = e.which;
}
if (key==192){
e.preventDefault(); // <-- prevent default action
(box.checked) ? box.checked=false : box.checked=true;
return false;
}
}
window.onload = function(){
document.onkeydown = keyPress;
};