在JavaScript中输入按键事件
我有一个form
带有两个文本框,一个 下拉菜单和一个
。当enter
按下该键时,我想调用一个Javascript函数(用户定义),但是当我按下它时,将提交表单。
按下键form
时如何防止提交**enter**
?
回答:
if(characterCode == 13)
{
return false; // returning false will prevent the event from bubbling up.
}
else
{
return true;
}
好的,假设您在表单中有以下文本框:
<input id="scriptBox" type="text" onkeypress="return runScript(event)" />
为了在按下Enter键时从此文本框中运行某些“用户定义”脚本,而不让其提交表单,下面是一些 示例
代码。请注意,此功能不执行任何错误检查,很可能仅在IE中有效。为此,您需要一个更强大的解决方案,但您将获得一般的想法。
function runScript(e) { //See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}
返回该函数的值将警告事件处理程序不要再使事件冒泡,并且将防止进一步处理keypress事件。
回答:
它已经指出,keyCode
在现在已经过时。下一个最好的替代which
已经也被弃用。
不幸的key
是,受现代浏览器广泛支持的受人欢迎的标准在IE和Edge中具有某些[躲避行为。IE11之前的任何版本都仍需要polyfill。
此外,尽管过时的警告对于keyCode
和都是不祥的警告which
,但删除这些警告将意味着对不计其数的旧版网站的巨大突破。因此,他们不太可能很快就去任何地方。
以上是 在JavaScript中输入按键事件 的全部内容, 来源链接: utcz.com/qa/419395.html