阻止使用ENTER提交,没有一个表单

时间:2013-08-14 13:37:14

标签: javascript jquery

我有简单的输入提交阻止程序:

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

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

4 个答案:

答案 0 :(得分: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;
    }
});

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

您可以使用类似

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

答案 3 :(得分:0)

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

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

return 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

相关问题