jquery off()在链中使用该对象

时间:2015-06-09 15:42:56

标签: javascript jquery

我正在使用off(),我不确定为什么这不起作用。我不确定这是removeClass()来自document还是#pager-next

$(document).off('click', '#pager-next').removeClass('disabled');

我希望从#pager-next而不是document中删除该课程。

然而这有效:

$('#pager-next').removeClass('disabled');

但后来我没有得到off

的功能

2 个答案:

答案 0 :(得分:0)

您不应在此处使用文档元素,并将off直接应用于元素:

 $('#pager-next').off("click").removeClass('disabled');

如果要保留原始事件委托,则必须按照jQuery文档中的说明进行操作,并按名称引用该函数,否则将删除所有处理程序:

function happensOn(){ alert("Stuff happens"); }
$('#pager-next').on("click", happensOn);
$('#pager-next').off("click", happensOn);

看看这里:http://api.jquery.com/off/(他们在底部有一个实现的代码段,展示了它是如何工作的。)

答案 1 :(得分:0)

find()之后添加off()即可。

$(document).off('click', '#pager-next')
    .find("#pager-next").removeClass('disabled');