假设我已将各种事件侦听器附加到各种表单元素。之后,我想删除整个表单。在删除它们所连接的元素之前,是否需要删除javascript事件侦听器?
是否有必要(或建议)注销表单及其元素上存在的任何事件处理程序?如果是这样,删除元素集合中所有侦听器的最简单方法是什么?不这样做的后果是什么?我使用Prototype,如果它很重要。
这就是我实际做的。我有一个简单的形式,像这样:
<form id="form">
<input type="text" id="foo"/>
<input type="text" id="bar"/>
</form>
我观察输入各种事件,如:
$('foo').observe('keypress', onFooKeypress);
$('bar').observe('keypress', onBarKeypress);
等
的形式是通过AJAX提交和响应是表格的新副本。我用一个像$('form').replace(newForm)
这样的新副本替换旧的表单。我是否积累了一堆事件?