我有一个基本的验证函数和 addEventListener ,可以附加到 select 元素。现在,不仅函数在事件发生期间不会触发,而且它会在页面加载时触发。能帮我解决一下原因吗?
元素是:
<select name="VisitSchedLocation" id="VisitSchedLocation" size="1">
<option value="">Choose a location for this visit</option>
<option value="1">Location 1</option>
...
</select>
addEventListener 是:
document.getElementById('VisitSchedLocation').addEventListener('blur', validateVisitSchedLocation());
最后,功能:
function validateVisitSchedLocation() {
if (VisitSchedLocation.options[VisitSchedLocation.selectedIndex].value == '') {
alert('Location must be selected!');
return false;
};
}
非常感谢任何帮助。
答案 0 :(得分:2)
您正在调用/调用该函数,而不是将其附加到事件:
document.getElementById('VisitSchedLocation').addEventListener('blur', validateVisitSchedLocation());
而是这样做( 没有括号 ):
document.getElementById('VisitSchedLocation').addEventListener('blur', validateVisitSchedLocation);