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