Javascript:如何劫持输入类型=提交点击行为?

Hen*_*hiu 9 javascript jquery

我有一个按钮:

每当我点击它时,它都会提交给表单.

我想劫持这种行为,所以当我点击它时,它会调用JS函数.我该怎么做呢?我补充说:

$('input.submit').live('click', addFood);
Run Code Online (Sandbox Code Playgroud)

问题是它仍然提交给表单.当我删除"type ="submit"时,它有效.

我不想删除HTML代码.它也绑定到CSS,我不想改变CSS,因为我害怕搞乱它=)

所以问题是:如何更改提交按钮的行为,以便它不提交到表单但调用我的Javascript(JQuery)函数?

Ste*_*ins 16

而是定位表单,而不是提交按钮

$("form").submit(function(e) {

    e.preventDefault();
    e.returnValue = false;

    // do things
});
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案在Jquery 1.7中已弃用 (3认同)

cro*_*lli 11

只是为了保持这个答案的最新变化:

$("form").live('submit', function(e) {

    e.preventDefault();
    e.returnValue = false;

    // do things
});
Run Code Online (Sandbox Code Playgroud)

});

用:

$("form").on('submit', function(e) {

    e.preventDefault();
    e.returnValue = false;

    // do things
});
Run Code Online (Sandbox Code Playgroud)

});

$(selector).live()在Jquery 1.7中被弃用,并从Jquery 1.9中的框架中删除.

这是文档