如何清除jQuery中的最后一个bind() - ed事件回调?

时间:2011-09-08 04:55:24

标签: javascript jquery javascript-events event-handling closures

我需要动态绑定()click事件,但问题是当我第二次或第三次绑定时,最后一次bind() - ed回调也会触发。我怎样才能清除最后的bind() - ed事件回调?并用这个新的回调函数覆盖click事件?

请注意,event是用户定义的对象,而不是javascript事件对象。

function showEditModal(event, callback)
{
    $("#dialog-form").dialog('open');

    $('#place').val(event.metadata.place);
    $('#type').val(event.metadata.type);
    $('#city').val(event.metadata.city);

    $('#dialog-form .button-save').show().click(function()
    {
        event.metadata.place = $('#place').val();
        event.metadata.type = $('#type').val();
        event.metadata.city = $('#city').val();

        $('#dialog-form').dialog('close');

        callback(event);
    });
}

1 个答案:

答案 0 :(得分:1)

如何使用one?此方法与.bind()相同,只是处理程序在第一次调用后未绑定。 (基于jQuery文档)