为什么表单的提交事件没有触发(jQuery)?

dan*_*wig 6 jquery form-submit

我有一个表单+布局,如下所示:

<form ...>
    <div id="editor">
        [form html]
        <input type="submit" value="Submit form" />
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

以下javascript:

$(function() {
    var form = $('#editor').parents('form');
    alert(form.length); // this alerts "1"
    $(document).on('submit', 'form', function() {
        alert('document form submit fired'); // this works as expected (alerts)
    });
    form.on('submit', function() {
        alert('selected form submit fired'); // this is never alerted
    });
});
Run Code Online (Sandbox Code Playgroud)

此表单不是通过ajax加载的.页面加载时,第一个对话框警告"1".但是,在提交表单时,只会触发一个警报 - 触发提交文档中所有表单的警报.

为什么会这样?

kar*_*m79 7

它确实有效.发生了其他事情,阻止了第二次警报的发射.