1

我有一个带有按钮等的 html 页面,我为其分配了事件侦听器。每当单击其中一个按钮时,页面就会恢复到其原始状态,就好像浏览器已关闭并再次打开一样。因此,如果我在其中输入了一些信息的文本字段,一旦单击按钮,它们就会被清除,即使它的事件侦听器什么也不做。

同样,如果我将此事件侦听器包含在 html 中<body onload="pageLoaded();">,则只要单击按钮,就会调用 pageLoaded() 函数。

为什么会发生这种情况,我该如何防止它发生?

4

3 回答 3

1

大概您正在使用提交按钮,除非您取消默认操作,否则它将提交它们所在的表单。

eventObject.preventDefault();

请参阅文档

于 2012-07-04T09:23:11.837 回答
1

也许您的单击事件侦听器已添加到表单中的链接或按钮。如果是这样,您可以return false在侦听器的末尾添加一个以防止执行默认行为。

var link = $("#mybutton");
link.click(function() {
    alert("clicked");
    return false;
});
于 2012-07-04T09:25:21.677 回答
0

将按钮类型设置为“按钮”将解决此问题。默认类型是“提交”,正如其他人所说,它将提交表单。

<button type="button">Button</button>
于 2012-07-14T18:20:43.207 回答