Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分配函数后如何删除onmouseout事件?_Javascript_Svg_D3.js - Fatal编程技术网

Javascript 分配函数后如何删除onmouseout事件?

Javascript 分配函数后如何删除onmouseout事件?,javascript,svg,d3.js,Javascript,Svg,D3.js,我有一个问题,我正在为onmouseout事件分配一个函数,但是在运行该事件之后,我需要删除它。非常感谢您的帮助。我想您已经添加了事件侦听器。他们删除事件的文档如下所示: 如果已在上为相同类型注册了事件侦听器 选定元素时,现有侦听器将在新侦听器之前被删除 添加了侦听器。为同一事件注册多个侦听器 类型,该类型后面可以跟一个可选的命名空间,例如 “click.foo”和“click.bar”。要删除侦听器,请将null作为 听众 我无法更正您的代码,因为您没有添加任何代码。这取决于您的代码,如果您使

我有一个问题,我正在为onmouseout事件分配一个函数,但是在运行该事件之后,我需要删除它。非常感谢您的帮助。

我想您已经添加了事件侦听器。他们删除事件的文档如下所示:

如果已在上为相同类型注册了事件侦听器 选定元素时,现有侦听器将在新侦听器之前被删除 添加了侦听器。为同一事件注册多个侦听器 类型,该类型后面可以跟一个可选的命名空间,例如 “click.foo”和“click.bar”。要删除侦听器,请将null作为 听众


我无法更正您的代码,因为您没有添加任何代码。

这取决于您的代码,如果您使用d3执行此操作,那么您可以说

在onmouseout事件函数中:

element.on("mouseout",func);

function func(){
    /*do your stuff*/
    element.on("mouseout",null);
}
如果通过类似
的事件属性绑定事件,则必须重构此属性。在这种情况下,只需使用d3
on()
函数绑定事件


如果要将多个处理程序绑定到同一事件,可以使用名称空间:通过将
.name
附加到事件,可以更具体地处理它们

另一种方法是使用jQuery:

$(element).bind("mouseout", myFunction);
$(element).unbind("mouseout");

您还可以在第一个参数中使用可选名称空间,如:

"mouseout.myNamespace"
使用此名称空间,可以绑定/解除绑定同一类型的多个事件

另一件你可能感兴趣的事情:

:D非常感谢您的帮助。参考资料: