我在向按钮元素添加事件时遇到问题。
问题:
函数应该是事件处理程序在页面重新加载时触发,当我单击按钮时。
我希望它仅在单击按钮时触发。
这是我的代码:
index.html文件:
<form id="contact_form">
(Some form fields here)
<button id="form_submit" value="send">Send</button>
</form>
<script src="contact_form.js"></script>
contact_form.js文件:
var submit_button = document.getElementById('form_submit');
submit_button.addEventListener("click", test_click_event());
function test_click_event()
{
alert("Button clicked");
}
我正在使用Chrome进行调试。
答案 0 :(得分:4)
submit_button.addEventListener("click", test_click_event);
不需要括号
答案 1 :(得分:1)
()括号调用函数execute删除它们或使用它:
var submit_button = document.getElementById('form_submit');
submit_button.addEventListener("click", function(){test_click_event();});
function test_click_event()
{
alert("Button clicked");
}
答案 2 :(得分:0)
您可以保留方括号,但需要添加一个匿名函数。 看到这里:https://www.w3schools.com/jsref/met_document_addeventlistener.asp
例如:
submit_button.addEventListener("click", function (){
test_click_event);
});