我有一个带有按钮等的 html 页面,我为其分配了事件侦听器。每当单击其中一个按钮时,页面就会恢复到其原始状态,就好像浏览器已关闭并再次打开一样。因此,如果我在其中输入了一些信息的文本字段,一旦单击按钮,它们就会被清除,即使它的事件侦听器什么也不做。
同样,如果我将此事件侦听器包含在 html 中<body onload="pageLoaded();">
,则只要单击按钮,就会调用 pageLoaded() 函数。
为什么会发生这种情况,我该如何防止它发生?
我有一个带有按钮等的 html 页面,我为其分配了事件侦听器。每当单击其中一个按钮时,页面就会恢复到其原始状态,就好像浏览器已关闭并再次打开一样。因此,如果我在其中输入了一些信息的文本字段,一旦单击按钮,它们就会被清除,即使它的事件侦听器什么也不做。
同样,如果我将此事件侦听器包含在 html 中<body onload="pageLoaded();">
,则只要单击按钮,就会调用 pageLoaded() 函数。
为什么会发生这种情况,我该如何防止它发生?
也许您的单击事件侦听器已添加到表单中的链接或按钮。如果是这样,您可以return false
在侦听器的末尾添加一个以防止执行默认行为。
var link = $("#mybutton");
link.click(function() {
alert("clicked");
return false;
});
将按钮类型设置为“按钮”将解决此问题。默认类型是“提交”,正如其他人所说,它将提交表单。
<button type="button">Button</button>