【问题标题】:Why when I click on the checkbox doesn't call the function onclick?为什么当我单击复选框时不会调用函数 onclick?
【发布时间】:2015-08-04 22:53:31
【问题描述】:
function click()
{
alert("function is called");
}
<form action="regCheck.aspx" method="post" onsubmit="return submitF()">
<input type="checkbox" name="checkboxs" onclick="click()"/>
</form>
这不是我的真实文件。我只是在编写我的这部分代码,以便大家了解为什么我的 onclick 函数没有被调用。如果当我单击复选框时 javascript 打开一个警报窗口,那么这意味着我可以使用它。我希望你能帮助我。
谢谢!
【问题讨论】:
标签:
javascript
html
checkbox
onclick
【解决方案1】:
只需将您的函数名称从 "click" 更改为另一个名称,这样它就不会被 the native click function of the input 遮蔽):
function notcalledclick()
{
alert("function is called");
}
<form action="regCheck.aspx" method="post" onsubmit="return submitF()">
<input type="checkbox" name="checkboxs" onclick="notcalledclick()"/>
</form>
这是避免添加内联javascript并更喜欢addEventListener的另一个原因:
document.getElementById('someId').addEventListener('click', function(){
alert("function is called");
});
<form action="regCheck.aspx" method="post" onsubmit="return submitF()">
<input id=someId type="checkbox" name="checkboxs"/>
</form>
【解决方案2】:
您的函数名称应该更改。
已经有一个叫做click的函数,负责调用事件处理函数。通过声明另一个,您会覆盖第一个,因此该事件不再起作用。