function circlediv(x,y,event)
{
var par=document.getElementById('fine');
var sull;
sull=document.createElement('div');
par.insertBefore(sull,par.firstChild);
sull.id='sullji';
sull.style.position='absolute';
sull.style.left=x+'px';
sull.style.top=y+'px';
sull.style.backgroundColor='black';
par.addEventListener("mousemove",function(){ dimer();},false);
}
function dimer()
{
sull=document.getElementById('sullji');
var l=sull.style.left.replace("px","");
var t=sull.style.top.replace("px","");
var w=event.pageX-Number(l); var h=event.pageY-Number(t);
sull.style.width=w+'px'; sull.style.height= h+'px';
}
function removeer()
{
var par2=document.getElementById('fine');
par2.removeEventListener("mousemove",function(){ dimer();},false);
}
我正在尝试删除我添加到par元素的事件Listener,但无法执行此操作。请帮忙。 在此先感谢:)
答案 0 :(得分:0)
很简单:
par.addEventListener("mousemove", dimer, false);
par2.removeEventListener("mousemove",dimer ,false);
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget.removeEventListener
答案 1 :(得分:0)
您当前在.removeEventListener()
的第二个参数中传递的功能与您使用.addEventListener()
添加的功能不同。这两个函数都做同样的事情,但它们彼此不同......你需要传递对相同函数的引用,所以不要使用匿名函数。
实际上在这种情况下你实际上并不需要匿名函数,因为它唯一能做的就是调用dimer()
函数,所以:
par.addEventListener("mousemove", dimer, false);
par2.removeEventListener("mousemove", dimer, false);