例子:
我想创建一个多窗口 webapp。每个窗口都是一个 jQuery 对象(附有一个 DOM 元素),但它还应该具有特定的属性和方法(例如close()或minimize())。看来,我应该创建一个具有包含 jQuery 对象MyWindow的属性的类。DOMElement
但是如何将 DOM 事件绑定到MyWindow对象?
我可以做类似的事情MyWindow.DOMElement.on('click', function(){...}。但是DOMElement不知道MyWindow它附加到哪个,并且如果需要将无法操纵它的属性。例如,它不能调用它的MyWindow方法close()。
我目前看到两种解决这个问题的方法。
第一的。使用指向对象的父对象MyWindow.DOMElement的单个属性扩展属性中的 jQuery对象。myWindowMyWindow
第二。使用 's 的属性扩展 jQuery 对象MyWindow并使其成为一个instanceof MyWindow(也许是通过寄生继承?)。这样,事件处理程序将可以MyWindow通过使用this.
这两种方式似乎都有些奇怪。
将 DOM 对象分配给 Javascript 对象以进行事件绑定的首选方法是什么?