我用 JavaScript 编写了一个模板解析器。它将“项目”呈现到日历中并附加一个点击处理程序。当您单击项目容器时,它开始在另一个窗口中加载项目内容。到目前为止,一切都很好。但有一次我需要覆盖这个点击处理程序并将其替换为另一个。一开始听起来很简单,但我的程序混合使用了推送和轮询服务,并且该项目必须每分钟渲染几次(至少在第一次迭代中将被完全替换)。
普通的点击处理程序是使用 jQuery 的click()
方法添加的。特殊的点击处理程序是使用 jQuery 的on()
方法添加的,因为所有项目都必须可以使用这个新的处理程序进行点击。现在,每次重新渲染项目时,单击处理程序将在添加处理程序之前附加并执行on
:(
我可以在模板上设置一个标志,以便他可以决定应该将哪个处理程序添加到项目中,但这会干扰我们正在使用的程序范例,其中每个模块必须是完全可执行的,而不与其他模块交互。
有什么建议么?我可以优先处理处理程序吗?