覆盖jquery onclick事件?

时间:2012-09-24 10:09:58

标签: javascript jquery asp.net

我在ASP.NET中有一个按钮,它可以呈现为HTML:

<input id="btn" type="submit" value="clickme">

如果我然后添加jquery:

$('#btn').click(function(){return false;});

每次点击按钮,都不会发生任何事情(即没有回发)。 这很好。

Javascript中是否有任何方式我可以以编程方式调用点击(这将导致回发),同时也忽略了jquery附加的return false函数?

2 个答案:

答案 0 :(得分:3)

您可以让事件处理程序接受其他参数。使用.trigger触发处理程序时,您可以为这些参数指定值,这将使处理程序相应地修改其行为。

例如:

$("#btn").click(function(event, submitForm) {
    submitForm = submitForm || false;
    if (!submitForm) return false;
});

// This will not submit the form
$("#btn").trigger("click");

// But this will
$("#btn").trigger("click", true);

答案 1 :(得分:1)

除了提交表单外,默认情况下按钮本身不执行任何操作,请尝试以下操作:

$('#btn').closest('form').submit();