如何获取对 JQuery 中元素的单击处理程序的引用?
这是我正在尝试做的事情:
存储单击处理程序,更改下次单击的单击处理程序,恢复原始单击处理程序
var originalClick = $(settings.currentTarget).click;
$(settings.currentTarget).off("click");
$(settings.currentTarget).click(function (e) {
e.preventDefault();
settings.model.modal.close();
$(settings.currentTarget).off("click");
$(settings.currentTarget).click(originalClick);
});
上面的代码第一次工作,但是,当我再次单击该元素时,它失败了:
Uncaught TypeError: Object [object HTMLAnchorElement] has no method 'on'
更新:
我现在意识到这是我正在尝试做的一个非常糟糕的设计。我已经通过在我的视图模型中维护可见性布尔值来解决这个问题,如果它是真的,不要重新打开模式。