在动态按钮单击时调用命名函数时的PreventDefault

PreventDefault when calling a named function on a dynamic button click

本文关键字:函数 PreventDefault 调用 动态 按钮 单击      更新时间:2023-09-26

我有这样的代码:

$('#my_tecnic').live('click', '#clear_tecnic_form', function (event) {
    event.preventDefault();
    form = document.forms['my_tecnic'];
    form.my_tecnic_nom.value = '';
    form.my_tecnic_nif.value = '';
    form.my_tecnic_regis.value = '';
});

我想捕获事件并调用这样的名称函数:

$('#my_tecnic').live('click', '#clear_tecnic_form', clear_tecnic(e));

然后像这样做preventDefault

function clear_tecnic(e) {
    e.preventDefault();
    ....
}

这不起作用,我该怎么做?

尝试传递函数引用,而不是立即调用函数:

$('#my_tecnic').live('click', '#clear_tecnic_form', clear_tecnic);

还可以考虑使用较新的jQuery方法,如on而不是.live

这应该有效:

$('#my_tecnic').on('click', '#clear_tecnic_form', function(e) { clear_tecnic(e) } );