所以我有一个html richText编辑器。我的代码结构就像这样
function richTextEditor(div)
{
var self=this;
self.instanceIdentifier=Math.floor(Date.now());
//Richtext editor creation logic
$(document).on('click.'+self.instanceIdentifier,function()
{
//some logic
})
self.destroy=function()
{
//delete all properties of self
// detach all listeners
$(document).off('click.'+self.instanceIdentifier) ;
}
}
我们的应用程序是单页面应用程序,并且在不同的窗格中打开了多个richtexteditor实例。我需要在删除与此对应的节点时销毁该实例。 Destroy应该删除该实例附加的所有事件处理程序。 到目前为止,唯一标识处理程序的Date.now()正在运行,但我认为必须有一些优雅的方法来做到这一点。
var div1=$('#notes')[0];
var editorInstance1=new richTextEditor(div1);
//remove is not a valid jquery event, its just for illustration
// I am getting remove event from another library
$(div1).on('remove',function(){
editorInstance1.destroy();
})
请建议这是否正确。
谢谢你宝贵的时间。