我有这段代码:
$('#el').change(function (e) {
if (!self.m_selected)
return;
self._onChange(e);
});
那是在多个地方(多个对象实例)......在某些情况下,我希望单个实例停止监听更改事件,但是,其他实例仍然需要监听。
如果我只是运行$('#el').off('change');
,所有人都会停止收听,但我只希望这一个班级实例停止收听?
答案 0 :(得分:2)
如果保存对处理函数的引用,则只能删除该特定处理程序:
var handler = function (e) {
if (!self.m_selected)
return;
self._onChange(e);
};
$('#el').change( handler );
后来:
$("#el").off('change', handler);