我在HTML中有一个表单,标记如下:
我也有两个脚本标签,一个是用于jQuery,另一个是我的JavaScript,我称之为validate.js。
当我将以下代码放入我的validate.js文件中并提交无效数据时,页面按预期弹出“invalid”警报。
当我在validate.js中使用这段代码时,当我点击输入框时,页面会按预期的方式再次响应,并弹出“click”提示。
然而,下面的代码并没有起作用。当提交无效数据时,无效事件处理程序不会触发,并且不会像应该一样提示“invalid”。
我希望这样做,因为我的应用程序从ajax请求中添加表单到页面上,因此我希望将事件处理程序附加到body而不是表单本身。这样做有什么原因导致它不起作用吗?
<form>
<input type="text" name="fname" required>
<input type="submit" value="Submit">
</form>
我也有两个脚本标签,一个是用于jQuery,另一个是我的JavaScript,我称之为validate.js。
<script src="jquery-2.1.4.min.js"></script>
<script src="validate.js"></script></body>
当我将以下代码放入我的validate.js文件中并提交无效数据时,页面按预期弹出“invalid”警报。
$("form input").on("invalid", function() {
alert("invalid");
});
当我在validate.js中使用这段代码时,当我点击输入框时,页面会按预期的方式再次响应,并弹出“click”提示。
$("body").on("click", "form input", function(){alert("click");});
然而,下面的代码并没有起作用。当提交无效数据时,无效事件处理程序不会触发,并且不会像应该一样提示“invalid”。
$("body").on("invalid", "form input", function(){alert("invalid");});
我希望这样做,因为我的应用程序从ajax请求中添加表单到页面上,因此我希望将事件处理程序附加到body而不是表单本身。这样做有什么原因导致它不起作用吗?