Javascript e、 仅当输入字段聚焦时,才启用哪个输入键
我正在使用jquery中的e.which来运行一个按ENTER键的函数,但是我希望只有在特定的输入字段被聚焦(光标闪烁)时才调用这个函数 我当前的jquery函数Javascript e、 仅当输入字段聚焦时,才启用哪个输入键,javascript,jquery,Javascript,Jquery,我正在使用jquery中的e.which来运行一个按ENTER键的函数,但是我希望只有在特定的输入字段被聚焦(光标闪烁)时才调用这个函数 我当前的jquery函数 $(document).keyup(function(e) { if (e.which == 13) { var page = $("#userpage").val(); if(page > 0) { $("#search").click(); }
$(document).keyup(function(e) {
if (e.which == 13) {
var page = $("#userpage").val();
if(page > 0) {
$("#search").click();
} else {
$('.save').click();
}
}
});
我想要$(“#搜索”)。单击()仅当#search_text聚焦或有一些输入时调用,因为我没有更多的输入字段,用户倾向于按enter键,在enter键时调用此函数
谢谢。将事件绑定为#search_文本元素,而不是整个文档。这样,它只会在元素具有焦点时触发。我会将事件侦听器附加到特定的输入元素:
$('#search_text').keyup(function(e) {
if (e.which == 13) {
// do it
}
});
只需将这一行添加到第二个if语句中的函数中:
$('#search_text').focus(function()
您还需要添加:
e.preventDefault()
我同意,但建议使用
keypress
事件,而不是keyup
事件,因为它会更快地触发,并且在所有主流浏览器中都有可靠的可打印字符字符代码。调用jQuery给出字符串'document'
不会将事件附加到document元素。您需要使用$(document)
,而不使用引号。此外,当您调用preventDefault()
时,所有后续的“默认”事件将不再触发。
$('document').keyup(function(e) {
if (e.keyCode == '13') {
e.preventDefault();
var page = $("#userpage").val();
}
});