[英]jQuery .submit( [callback] ) within .click not working
我希望对此有一个简单的解释,但我尚未找到它。
我正在尝试触发一个表单以提交事件,并且在该表单提交时应该有一个回调。 当我仅使用事件触发.submit()而没有任何提交回调时,我的代码起作用,而提交回调在事件触发器之外起作用,但是我无法使其同时起作用。
我的JavaScript如下:
$("#test_form #notabutton").click( function () {
alert("Checkpoint 1");
$('#test_form').submit( function( event ) {
alert("Checkpoint 2");
return;
});
});
和我的HTML:
<form id="test_form">
<input type="checkbox" name="letter" value="Alpha">Alpha<br>
<input type="checkbox" name="letter" value="Bravo">Bravo
<!-- <input type="submit" value="Submit"> -->
<div id="notabutton" style="height:100px; width:100px; background-color:blue;"></div>
</form>
这是一个很好的jsfiddle: http : //jsfiddle.net/5bwGw/ 。
有什么想法我做错了吗?
您未触发提交,而是将功能设置为在提交时运行。
该文档没有提及回调。
.submit()
函数以及类似的函数,例如.click()
,可用于将动作绑定到事件或触发该事件。
如果您写foo.submit();
,它是foo.trigger('submit');
但是,如果您编写foo.submit( function() { alert('boing'); } );
,它是foo.on('submit', function() { alert('boing'); } );
就我个人而言,我尽量避免使用简写形式, .trigger
直接使用.on
(或在较旧的代码.bind
)和.trigger
,以避免造成任何混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.