如何在不影响其他人收听同一事件的情况下取消绑定(关闭)DOM元素?

时间:2014-02-28 01:31:58

标签: javascript

我有这段代码:

 $('#el').change(function (e) {
     if (!self.m_selected)
         return;
     self._onChange(e);
 });

那是在多个地方(多个对象实例)......在某些情况下,我希望单个实例停止监听更改事件,但是,其他实例仍然需要监听。

如果我只是运行$('#el').off('change');,所有人都会停止收听,但我只希望这一个班级实例停止收听?

1 个答案:

答案 0 :(得分:2)

如果保存对处理函数的引用,则只能删除该特定处理程序:

var handler = function (e) {
        if (!self.m_selected)
            return;
        self._onChange(e);
    };
$('#el').change( handler );

后来:

$("#el").off('change', handler);