【发布时间】:2018-11-07 19:29:13
【问题描述】:
这是我的 HTML 代码:
document.getElementById("sub").addEventListener("click", testing());
function testing() {
document.getElementById("demo").innerHTML ="good";
}
<input type="submit" value="Place Order" id="sub"/>
</fieldset> </form>
<p id="demo"></p>
<script type="text/javascript" src="Q4.js"></script>
我在其中声明了一个按钮来提交表单。
我在提交按钮中添加了一个事件来运行函数testing()。
我预计当用户点击按钮提交时,页面会提示“好”。但是,一旦我加载页面,“好”就已经出现了,而无需单击按钮。
result page
为什么会这样?
【问题讨论】:
-
在
.addEventListener()调用中,testing()应该只是testing。您的代码调用函数,然后将返回值传递给.addEventListener()。 -
JavaScript 急切地评估参数。如果您有
foo(bar()),则首先调用bar,并将其返回值传递给foo。 -
副本使用jQuery,但问题相同。
标签: javascript html dom