如果在特定输入时按下输入,我正在尝试执行此功能。
我做错了什么?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
有没有一种更好的方法可以说,如果按下.input1
按下功能吗?
答案 0 :(得分:438)
$(".input1").on('keyup', function (e) {
if (e.keyCode == 13) {
// Do something
}
});
//keyup not compatible with Jquery select(), Keydown is.
答案 1 :(得分:53)
更新,更清洁:使用event.key
。 不再有任意数字代码!
const node = document.getElementsByClassName(".input")[0];
node.addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// Do work
}
});
如果你必须使用jQuery:
$(document).keyup(function(event) {
if ($(".input1").is(":focus") && event.key == "Enter") {
// Do work
}
});
答案 2 :(得分:43)
$(document).keyup(function (e) {
if ($(".input1:focus") && (e.keyCode === 13)) {
alert('ya!')
}
});
或者只是绑定到输入本身
$('.input1').keyup(function (e) {
if (e.keyCode === 13) {
alert('ya!')
}
});
要确定您需要的keyCode,请使用网站http://keycode.info
答案 3 :(得分:11)
尝试此操作以检测文本框中按下的Enter
键。
$(function(){
$(".input1").keyup(function (e) {
if (e.which == 13) {
// Enter key pressed
}
});
});
答案 4 :(得分:5)
回答这个问题可能为时已晚。但是以下代码只是阻止了回车键。只需复制和粘贴即可。
<script type="text/javascript">
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
}
document.onkeypress = stopRKey;
</script>
答案 5 :(得分:5)
我找到的最好方法是使用keydown
(keyup
对我来说效果不佳。)
注意:我也禁用了表单提交,因为通常当您在按Enter键时执行某些操作时,唯一认为您不喜欢的是提交表单:)
$('input').keydown( function( event ) {
if ( event.which === 13 ) {
// Do something
// Disable sending the related form
event.preventDefault();
return false;
}
});
答案 6 :(得分:2)
适用于我的解决方案如下
$("#element").addEventListener("keyup", function(event) {
if (event.key === "Enter") {
// do something
}
});
答案 7 :(得分:1)
尝试此操作以检测文本框中按下的Enter键。
$(document).on("keypress", "input", function(e){
if(e.which == 13){
alert("Enter key pressed");
}
});
答案 8 :(得分:0)
$(document).ready(function () {
$(".input1").keyup(function (e) {
if (e.keyCode == 13) {
// Do something
}
});
});
答案 9 :(得分:0)
$('.input1').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
//do whatever you want on ENTER click
}
});
答案 10 :(得分:0)
此代码为我处理了整个站点中的所有输入。它会检查INPUT字段内的ENTER KEY,并且不会在TEXTAREA或其他地方停止。
$(document).on("keydown", "input", function(e){
if(e.which == 13){
event.preventDefault();
return false;
}
});