请问在an的html5里如何移除事件吖?
animate吧
全部回复
仅看楼主
level 1
eyoeyo001 楼主
如题,我这样打的代码:
this.btn1.addEventListener("click", onbtn1);
function onbtn1()
{
alert("已单击鼠标");
this.btn1.removeEventListener("click", onbtn1);
alert("已单击鼠标2");
}
完全执行不到后面的输出“已单击鼠标2”那里。而且再次点击按钮也依然会输出“已单机鼠标”也就是说事件依然存在。那么如何才能移除事件吖?
在代码片段里找到的:
this.btn1.addEventListener("click", onbtn1.bind(this));
这种写法的,按照之前的知识写了:
this.btn1.removeEventListener("click", onbtn1.bind(this));
也是依然无效。请问到底怎么样才能移除事件吖
2020年12月24日 03点12分 1
吧务
level 13
你第一个this指的是当前画布当前层当前帧的舞台中btn1按钮。
而你第2个this是指JS中onbtn1对象中的btn1按钮。而这个按钮是不存在的。
所以你可以先把目标路径确定。比如下边,先确定TS等于当前舞台。
或者你直接使用绝对路径来写。
ts=this
ts.btn1.addEventListener("click", onbtn1);
function onbtn1()
{
alert("已单击鼠标");
ts.btn1.removeEventListener("click", onbtn1);
alert("已单击鼠标2");
}
2020年12月24日 08点12分 2
吧务
level 13
Function 这个函数你可以看成是个对象,也就等于是个看不到的元件。所以里边作用的都是那个元件内部的事。
2020年12月24日 08点12分 3
1