【发布时间】:2024-01-21 19:07:01
【问题描述】:
假设我已将各种事件侦听器附加到各种表单元素。稍后,我想删除整个表单。
是否有必要(或建议)注销表单及其元素上存在的任何事件处理程序?如果是这样,删除元素集合上的所有侦听器的最简单方法是什么?不这样做会有什么后果?如果重要的话,我正在使用 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) 的操作。我是在积累一堆事件吗?
【问题讨论】:
标签: javascript events event-handling prototypejs dom-events