尝试使用onclick调用函数时未定义值

时间:2015-11-04 15:04:56

标签: javascript html

当我试图将(onclick)值发送到toggle_sprint()函数时,我得到的错误是没有定义值。为什么没有定义?当我把value =“false”但显然没有时,我认为它被定义了。

<div class="select">
    <div id="toggle_sprint" value="false" onclick="toggle_sprint(value);" >Toggle Sprint</div>

</div>

1 个答案:

答案 0 :(得分:2)

div元素没有value属性... div元素不是设计为交互式的,因此您可以通过在div上使用onclick来创建一堆辅助功能问题

此外,您使用intrinsic event attribute means that toggle_sprint() probably isn't what you think it is

首先写好HTML。

使用data-*属性为您的JS提供数据。使用按钮提供点击并触发JS的内容。

然后使用JavaScript绑定您的事件处理程序。

&#13;
&#13;
    document.getElementById("toggle_sprint").addEventListener("click", function(event) {
      toggle_sprint(this.dataset.value);
    });

    function toggle_sprint(arg) {
      console.log(arg);
    }
&#13;
<div class="select">
  <button type="button" id="toggle_sprint" data-value="false">Toggle Sprint</button>
</div>
&#13;
&#13;
&#13;