繁体   English   中英

.click中的jQuery .submit([callback])不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM