我的网页上有一个元素,上面有多个回调

// First callback
$("#element").click(fn1);

// Second callback
$("#element").click(fn2);

// Definitions
function fn1(){console.log("1");}
function fn2(){console.log("2");}

有没有一种方法可以从jQuery触发的回调列表中仅删除fn2。
我知道我可以在函数和一些全局变量中添加一个“if”,但这不是我想要的。

最佳答案

unbind函数中的第二个参数指定要取消绑定(bind)的处理程序。

$("#element").unbind("click", fn2);

工作示例: http://jsfiddle.net/k73Nx/

10-06 07:14