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

时间:2011-10-16 04:25:19

标签: javascript jquery

我有一个按钮:

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

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

$('input.submit').live('click', addFood);

问题是它仍然提交给表单。当我删除“type =”submit“时,它会起作用。

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

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

2 个答案:

答案 0 :(得分:16)

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

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

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

    // do things
});

答案 1 :(得分:11)

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

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

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

    // do things
});

with:

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

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

    // do things
});

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

这是documentation