Javascript 尝试使用onclick调用函数时未定义值
当我试图将(onclick)值发送到toggle_sprint()函数时,我得到一个错误,该值未定义。为什么没有定义?当我输入value=“false”时,我认为它得到了定义,但显然不是Javascript 尝试使用onclick调用函数时未定义值,javascript,html,Javascript,Html,当我试图将(onclick)值发送到toggle_sprint()函数时,我得到一个错误,该值未定义。为什么没有定义?当我输入value=“false”时,我认为它得到了定义,但显然不是 <div class="select"> <div id="toggle_sprint" value="false" onclick="toggle_sprint(value);" >Toggle Sprint</div> </div> 切换短跑 d
<div class="select">
<div id="toggle_sprint" value="false" onclick="toggle_sprint(value);" >Toggle Sprint</div>
</div>
切换短跑
div元素没有值
属性……而且div元素不是为交互而设计的,因此在div上单击onclick
会产生一系列可访问性问题
此外,您还可以使用
从编写好的HTML开始
使用data-*
属性仅为您的JS提供数据。使用按钮提供单击和触发JS的内容
然后用JavaScript绑定事件处理程序
document.getElementById(“toggle_sprint”).addEventListener(“单击”),函数(事件){
切换_sprint(this.dataset.value);
});
函数切换_sprint(arg){
控制台日志(arg);
}
切换短跑
当您单击它时,它正在您的作用域中查找一个名为value
的变量,但该变量不存在。div没有值属性。请注意,addEventListener
在IE 9下不起作用。