为什么我的函数在给定此特定代码时不返回警报?
function searchString() {
if (event.keyCode == alert("Success!"); }
}
这是我的HTML代码:
<input type="text" id="searchString" name="searchString" onkeydown="searchString();"/>
答案 0 :(得分:2)
您需要在函数中传递event
参数。否则,当您尝试调用event
方法时,keyCode
未定义:
function searchString(event) {
if(event.keyCode == 13) {
alert("Success!");
}
}
document.querySelector('input').addEventListener('keyup', searchString);
function searchString(event) {
if (event.keyCode == 13) {
alert("Success!");
}
}
&#13;
<p>Press the <b>enter</b> key in the input below see your alert</p>
<input type="text" />
&#13;
答案 1 :(得分:0)
你可以使用纯javascript:
const search = document.getElementById('searchString');
search.addEventListener('keydown', (e) => {
if (e.keyCode === 13) {
// your code here
}
}
注意:13是输入
的关键代码答案 2 :(得分:0)
您需要确保将实际的event
作为参数传递...否则,它将在函数中无法识别。要查看哪个代码与哪个密钥相关联,请尝试以下操作。
function check(event)
{
var keycode = event.keyCode;
alert(keycode);
}
然后......
<input type="text" id="check" name="check" onkeydown="check();">
返回键与'13'相关联。因此,如果您只想在按下时执行某些操作,请执行以下操作。
function searchString(event)
{
if(event.keyCode === 13) {
alert("return key was pressed");
// do something ....
}
}
html代码应如下所示。
<input type="text" id="searchString" name="searchString" onkeydown="searchString();">
请注意我使用'==='而不是'=='。现在是推荐的做法。另请注意,input
末尾的正斜杠不是必需的。