我知道在jQuery中如果我们使用.remove()删除一些元素,那么将删除与元素关联的所有绑定事件和jQuery数据.对于d3来说是一样的吗?
如果答案是肯定的,那么如果我将事件绑定到svg中的节点.on()然后删除svg使用.remove(),则svg 上所有节点的所有事件也都是未绑定的(即svg子节点的事件)去掉)?
如果上述任何一个问题的答案都是肯定的,我假设我需要手动取消绑定元素.on('eventType',null).我试图为这样的东西写一个通用函数,看起来像:
function unbindCommonEvents(elem){
var eventTypes = ['click','dblclick','mousedown','mouseup','mouseover','mousemove','mouseout','dragstart','drag','dragenter','dragleave','dragover','drop','dragend','Keyboard','keypress','keyup','load','unload','abort','error','resize','scroll','select','change','submit','reset','focus','blur','focusin','focusout','zoom'];
for (var i = 0; i < eventTypes.length; i++) {
elem.on(eventTypes[i],null);
};
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1343 次 |
| 最近记录: |