Javascript—当我在输入表单中按enter键时,代码正在运行

Javascript—当我在输入表单中按enter键时,代码正在运行,javascript,jquery,html,css,input,Javascript,Jquery,Html,Css,Input,所以我在我的页面上写了一些代码,当你点击回车键时,它就会启动一个函数。然后我删除了代码,当我按下enter键时,它仍然会启动函数。这让我很困惑。我注释掉了90%的代码,但它仍然会启动该函数。很明显,如果我删除了这个函数,它就不会启动它,然后重新添加这个函数,kaboom,它会再次启动。不知道为什么或者如何预防 这是指向我的代码的链接: 同时将代码放在这里: HTML JAVASCRIPT $(函数(){ $(“.searchbar”).focus(); var searchTerm=“”;

所以我在我的页面上写了一些代码,当你点击回车键时,它就会启动一个函数。然后我删除了代码,当我按下enter键时,它仍然会启动函数。这让我很困惑。我注释掉了90%的代码,但它仍然会启动该函数。很明显,如果我删除了这个函数,它就不会启动它,然后重新添加这个函数,kaboom,它会再次启动。不知道为什么或者如何预防

这是指向我的代码的链接:

同时将代码放在这里:

HTML

JAVASCRIPT

$(函数(){
$(“.searchbar”).focus();
var searchTerm=“”;
var template=“

” var结果数组; /*按enter键后启动函数的代码 $(“.homebar”)。按键(功能(e){ 如果(e==13){ $(“.home search”)。单击; } }); $(“.resultsbar”).keypress(函数(e){ 如果(e==13){ $(“.results search”)。单击; } }); */ $(“.home search”)。单击(函数(事件){ event.preventDefault(); searchTerm=$(“#搜索栏”).val(); 对于(var x=1;x 这段javascript是在按enter键时执行的,这是因为浏览器认为按enter键等于按submit键

要防止出现这种情况,请查看以下问题:

这段javascript是在按enter键时执行的,这是因为浏览器认为按enter键等于按submit键


要防止出现这种情况,请查看以下问题:

这是因为表单元素,只需删除表单元素即可

或者尝试禁用enter事件,如下所示

<form id="search-form">
...
</form

  $('#search-form').on('keyup keypress', function(e) {
  var keyCode = e.keyCode || e.which;
  if (keyCode === 13) { 
    e.preventDefault();
    return false;
  }
});

...

这是因为你的表单元素,只需删除你的表单元素即可

或者尝试禁用enter事件,如下所示

<form id="search-form">
...
</form

  $('#search-form').on('keyup keypress', function(e) {
  var keyCode = e.keyCode || e.which;
  if (keyCode === 13) { 
    e.preventDefault();
    return false;
  }
});

...

我的猜测是,浏览器只是将您在表单元素中按enter键解释为试图提交表单。如果没有适当的提交按钮,则只是猜测它在表单中遇到的第一个按钮是submit。这只是一种预感。我的猜测是,浏览器只是在解释您的键在表单元素中按enter键,尝试提交表单。如果没有合适的提交按钮,则只能猜测表单中遇到的第一个按钮是submit。这只是一种预感。那么它如何知道启动该特定函数?为什么不启动其他函数。看看这一点,它如何知道如何启动fire那个特定的功能?为什么它不启动其他功能。看看这个
<form id="search-form">
...
</form

  $('#search-form').on('keyup keypress', function(e) {
  var keyCode = e.keyCode || e.which;
  if (keyCode === 13) { 
    e.preventDefault();
    return false;
  }
});