Javascript 分配函数后如何删除onmouseout事件?
我有一个问题,我正在为onmouseout事件分配一个函数,但是在运行该事件之后,我需要删除它。非常感谢您的帮助。我想您已经添加了事件侦听器。他们删除事件的文档如下所示: 如果已在上为相同类型注册了事件侦听器 选定元素时,现有侦听器将在新侦听器之前被删除 添加了侦听器。为同一事件注册多个侦听器 类型,该类型后面可以跟一个可选的命名空间,例如 “click.foo”和“click.bar”。要删除侦听器,请将null作为 听众Javascript 分配函数后如何删除onmouseout事件?,javascript,svg,d3.js,Javascript,Svg,D3.js,我有一个问题,我正在为onmouseout事件分配一个函数,但是在运行该事件之后,我需要删除它。非常感谢您的帮助。我想您已经添加了事件侦听器。他们删除事件的文档如下所示: 如果已在上为相同类型注册了事件侦听器 选定元素时,现有侦听器将在新侦听器之前被删除 添加了侦听器。为同一事件注册多个侦听器 类型,该类型后面可以跟一个可选的命名空间,例如 “click.foo”和“click.bar”。要删除侦听器,请将null作为 听众 我无法更正您的代码,因为您没有添加任何代码。这取决于您的代码,如果您使
我无法更正您的代码,因为您没有添加任何代码。这取决于您的代码,如果您使用d3执行此操作,那么您可以说 在onmouseout事件函数中:
element.on("mouseout",func);
function func(){
/*do your stuff*/
element.on("mouseout",null);
}
如果通过类似
的事件属性绑定事件,则必须重构此属性。在这种情况下,只需使用d3on()
函数绑定事件
如果要将多个处理程序绑定到同一事件,可以使用名称空间:通过将
.name
附加到事件,可以更具体地处理它们 另一种方法是使用jQuery:
$(element).bind("mouseout", myFunction);
$(element).unbind("mouseout");
您还可以在第一个参数中使用可选名称空间,如:
"mouseout.myNamespace"
使用此名称空间,可以绑定/解除绑定同一类型的多个事件
另一件你可能感兴趣的事情:
:D非常感谢您的帮助。参考资料: