javascript - 标签上的onkeypress
问问题
17225 次
5 回答
4
它为我工作
<a href="javascript:search();" onkeypress="return runScript(event);">Open in new window using javascript</a>
脚本
window.runScript = function (e) {
if (e.keyCode == 13) {
alert('ss');
return false;
}
else {
return true;
}
}
window.search = function () {
alert('s');
}
现场演示:小提琴
于 2012-03-11T08:49:15.950 回答
3
于 2012-03-11T08:27:10.890 回答
2
ENTER 键实际上触发了 onclick 事件:
<a href="#" onclick="alert('hello!');">
这意味着您在 href 中的 search() 函数将在 onkeypress 事件之前执行。
于 2012-03-11T08:06:25.303 回答
1
这在我的浏览器中有效,尽管我怀疑这不是实现你真正想要做的事情的方法......(也许?)
第一,你可能不希望它“ return
”任何东西,所以你可以这样做onkeypress="runScript(e)"
,它会运行。如果该函数确实返回一个值,它不会去任何地方......
第二,keydown 事件很少会在锚<a>
(当前有键盘焦点,如果它不只是整个页面)。您是否希望在有人在搜索框或其他内容中输入后按 Enter 键时运行您的脚本?<input id="mySearchBox" onkeydown="runScript(e)">
如果是这样,您可能希望在搜索框本身上监听事件,因此如果您只想在用户按下回车时运行它,则将其添加为该元素的 onkeydown 属性(例如:) ,而不管焦点或键入文本到任何特定字段,只需按照 edmastermind29 的评论所说的将事件侦听器添加到整个文档中。
于 2012-03-11T09:43:19.257 回答
0
您是否尝试将其添加到您的脚本中?
document.onkeypress = runScript;
于 2012-03-11T08:02:19.173 回答