使用jQuery,当我绑定到按键事件时,如何找出按下了哪个键?
$('#searchbox input').bind('keypress', function(e) {});
Run Code Online (Sandbox Code Playgroud)
我想在ENTER按下时触发提交.
[更新]
即使我发现(或者更好:一个)自己回答,似乎还有一些变异的空间;)
有没有之间的差异keyCode和which-尤其是如果我只是在寻找ENTER,这永远不会是一个unicode关键?
有些浏览器提供一个属性而其他浏览器提供另一个属性吗?
当光标在TEXTAREA中并按下Ctrl+ 时,如何触发某些内容Enter?使用jQuery.谢谢
我<input type="text" name="input" />在表单之外有一个输入字段,以便在用户按Enter键时不提交.我想知道用户何时按下enter而不提交,以便我可以运行一些JavaScript.我希望这可以在所有主流浏览器中工作(虽然我不关心IE)并且是有效的JavaScript.
仅供参考:jQuery是一种选择
你好我在按Enter键时试图运行一个javascript函数.到目前为止,这是我的代码
我的HTML
<!DOCTYPE html>
<html>
<head>
<title>JS Bin</title>
</head>
<body>
<div>
<form id="inputForm">
<label for="userInput">Input : </label>
<span id="userInputSpan">
<input type="text" id="userInput" onkeydown="readInput(this)" />
</span>
</form>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的JAVASCRIPT
function readInput(e) {
if (e.keyCode == 13) { // 13 is enter key
// Execute code here.
// var temp = e.value;
// console.log(temp);
alert(e.value);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的JSBin
所以我知道我们可以找到按键是否被按下,并且我们可以通过使用javascript知道按下了哪个键.
要确定键是否已关闭或按下,我们可以使用jQuery
$( "#some id" ).keydown(function()
Run Code Online (Sandbox Code Playgroud)
要么
$( "#m" ).keypress(function()
Run Code Online (Sandbox Code Playgroud)
但这对我来说不太好用.我想确定是否按下了一个字母或一个数字.
但是,为了高效,我不想用大的if(或for循环,更糟)来检查按下的键是字母还是字符(通过比较和检查字符代码)
是否有像内置的JavaScript函数,确定是否按下了数字或按下了一个字母?有没有一种有效的方法呢?或者我只是过于复杂的事情?