2015-11-04 120 views
0

当im试图发送(onclick)值到toggle_sprint()函数时,我得到的错误是该值未定义。为什么没有定义?当我把value =“false”但显然不是。当试图通过onclick调用函数时没有定义值

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

</div> 
+0

当你点击它,它在寻找一个叫做'value'在你的范围变量,它不存在。 – Tgsmith61591

+0

科室没有价值属性 – j08691

回答

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绑定你的事件处理程序。

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

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

+0

只需注意'addEventListener'在9以下的IE中不起作用。 – j08691

相关问题