html-javascript:每当触发事件时页面都会刷新

时间:2012-07-04 09:21:24

标签: javascript html events

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

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

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

3 个答案:

答案 0 :(得分:1)

据推测,您使用的是提交按钮,除非您取消默认操作,否则会提交他们所在的表单。

eventObject.preventDefault();

请参阅the documentation

答案 1 :(得分:1)

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

var link = $("#mybutton");
link.click(function() {
    alert("clicked");
    return false;
});

答案 2 :(得分:0)

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

<button type="button">Button</button>