1

我有简单的输入提交拦截器:

$(window).keydown(function(event){
    if(event.keyCode == 13){
        event.preventDefault();
        return false;
    }
});

这是工作。但是我有一个表单(快速搜索),我想在其中输入提交,那么如何添加“if”:if(event.keyCode == 13 && NOT IN $('#search'))

4

4 回答 4

1

如果您的表单的 id 为search

$(window).keydown(function(event){
    if(event.keyCode == 13 && !$(event.target).closest('#search').length){
        event.preventDefault();
        return false;
    }
});

如果您的输入的 id 为search

$(window).keydown(function(event){
    if(event.keyCode == 13 && !$(event.target).is('#search')){
        event.preventDefault();
        return false;
    }
});
于 2013-08-14T13:41:02.447 回答
0

尝试这个:

$(window).keydown(function(event){
if(event.target.closest('#search').length==0){
    if(event.keyCode == 13){
        event.preventDefault();
        return false;
    }
}
});
于 2013-08-14T13:40:14.280 回答
0

你可以使用类似的东西

$(window).keydown(function(event){
    if(event.keyCode == 13 && event.target.closest('#search').length == 0) {
        event.preventDefault();
        return false;
    }
});
于 2013-08-14T13:42:51.197 回答
0

如果您的搜索 ID 是“搜索”

window.onkeydown=function(e){
 if(e.keyCode==13&&e.target.id!='search'){
  e.preventDefault();
 }
}

返回 false == e.preventDefault;e.stopPropagation。

你不需要返回false。

对于旧版浏览器

window.onkeydown=function(e){
 e=e||window.event;
 if((e.keyCode||e.which)==13&&(e.target||e.srcElement).id!='search'){
  return false
 }
}

..纯js

于 2013-08-14T13:46:25.507 回答