http://codepen.io/abdulahhamzic/pen/YqMQwB
如何制作它,以便当我在文本输入上按Enter键时,它会调用一个函数?我试过用这个:
<input type="text" onkeypress="clickPress()">
但问题是我只想按Enter键调用该功能,而不是按任意键。我如何实现这一目标?
答案 0 :(得分:6)
您要做的是检查事件的键是否为回车键:
在你的html中,添加事件参数
<input type="text" onkeypress="clickPress(event)">
在处理程序中,添加一个事件参数
function clickPress(event) {
if (event.keyCode == 13) {
// do something
}
}
答案 1 :(得分:1)
使用表单(提交事件只运行一次而不是每次按键):
// Wrap code in a closure (global variables may mess with other JS)
(function(window, document) {
'use strict';
// Get the form element
var myFormEl = document.querySelector('.my-form');
if(myFormEl) {
// Attach the event handler to the form element
myFormEl.addEventListener("submit", function(e) {
alert(myFormEl.myText.value);
e.preventDefault(); // Don't forget this!
}, false);
}
})(window, document);
<form class="my-form">
<input type="text" name="myText">
</form>
答案 2 :(得分:0)
Enter按钮的keyCode为13,因此您可以使用jQuery <{3}}
$("input").keypress(function(event) {
if (event.which == 13) {
alert("Enter was pressed");
}
});
或者,在纯javascript中:
<input type="text" onkeypress="clickPress(event)">
function clickPress(event) {
if (event.keyCode == 13) {
// do something
}
}
答案 3 :(得分:0)
获取活动的keycode
并测试其是enter
(keycode 13
)
<script>
function clickPress(e){
if (event.keyCode == 13) {
// Enter was pressed
alert("enter");
}
}
</script>
<input type="text" onkeypress="clickPress(event)" />
答案 4 :(得分:0)
可能有几个&#34;更好&#34;如何做你想做的事情,但为了简单起见,你可以做到这一点:
<input type="text" id="txt">
您可以在onkeypress
代码中附加事件监听器而不是收听<script></script>
,而是执行此操作:
var myText = document.getElementById("txt");
myText.addEventListener("keyup", function(e) {
if (e.which === 13) {
//The keycode for enter key is 13
alert(e.target.value);
}
});
是的,这绝对是一个重复的问题。