Javascript 使用div容器时按钮单击事件不起作用

Javascript 使用div容器时按钮单击事件不起作用,javascript,button,onclick,Javascript,Button,Onclick,我的网页中有一个简单的HTML按钮,其HTML如下所示: 当我应用onclick=checkValidity时;在我的按钮上,它不工作,但当我尝试使用输入按钮的container div时,它开始工作 当我在按钮中调用此函数时,我无法理解为什么它不工作?有人知道吗 有趣的是,在另一个网页上的输入按钮也在工作 您必须将输入标记包围在表单标记中 <div id="submit1" style="float:left;cursor:pointer;" onclick="checkValidity

我的网页中有一个简单的HTML按钮,其HTML如下所示:

当我应用onclick=checkValidity时;在我的按钮上,它不工作,但当我尝试使用输入按钮的container div时,它开始工作

当我在按钮中调用此函数时,我无法理解为什么它不工作?有人知道吗


有趣的是,在另一个网页上的输入按钮也在工作

您必须将输入标记包围在表单标记中

<div id="submit1" style="float:left;cursor:pointer;" onclick="checkValidity();">
  <form>
    <input type="button" value="Finish" class="finish">
  </form>
</div>

首先,checkValidity是一个关键词。停止使用它。将其更改为CheckIfValid或类似的内容

JSFIDLE中的简单示例

checkValidity是输入对象的事件,如果输入具有有效数据,则返回true。因此,这里没有js事件的作用域

它在div上工作,因为div不是输入元素


如果您有任何问题,请告诉我。

op说,如果他将设备放在内部,那么它就会工作。你的答案是胡说八道。他说,当他把事件放在输入标记周围的div上时,你什么都不懂,所以不要随机投反对票。checkValidity是javascript中的一个内置事件。它根据输入元素的数据抛出true/false。因此,主要问题是在输入元素上使用错误的函数名。checkValidity在div上工作,因为它不是输入元素。
chck = function (obj)
{
    alert('hi: ' + obj.id);
    return true;
}