Верное использование removeEventListener
Всем привет !
Есть скрипт, в котором использовалось addEventListener для того, чтобы при клике экрану браузер перешел в режим фуллскрин
function js_init()
{
var canvas = document.getElementById("canvas");
canvas.addEventListener("mousedown",
function(evt)
{
evt.preventDefault();
gmCallback.jsCallback_onPointerDown(-1, evt.pageX, evt.pageY);
console.log("mouse down");
}, true);
canvas.addEventListener("touchstart",
function(evt)
{
evt.preventDefault();
// Pro kazdy prst volat mousePressed
var touchId = evt.changedTouches.length;
while (touchId-- !== 0)
{
var touch = evt.changedTouches[touchId];
gmCallback.jsCallback_onPointerDown(touch.identifier, touch.pageX, touch.pageY);
}
}, true);
}
После перехода понадобилось убрать слушателя и я дописал код:
function js_deinit()
{
var canvas = document.getElementById("canvas");
canvas.removeEventListener("mousedown",
function(evt)
{
evt.preventDefault();
gmCallback.jsCallback_onPointerDown(-1, evt.pageX, evt.pageY);
console.log("mouse down");
}, true);
canvas.removeEventListener("touchstart",
function(evt)
{
evt.preventDefault();
// Pro kazdy prst volat mousePressed
var touchId = evt.changedTouches.length;
while (touchId-- !== 0)
{
var touch = evt.changedTouches[touchId];
gmCallback.jsCallback_onPointerDown(touch.identifier, touch.pageX, touch.pageY);
}
}, true);
}
Но вызов функции js_deinit() не привел к результатам И код (ниже) тоже не помог
function js_deinit()
{
var canvas = document.getElementById("canvas");
canvas.removeEventListener("mousedown",0, true);
canvas.removeEventListener("touchstart",0, true);
}
Скажите, что я делаю не так ? Как правильно убрать слушателя ? |
Дайте осмысленное название в теле функции addEventListener и будет вам счастье.
Например,
function myFunc(){
/* что-то делаем */
}
canvas.addEventListener("mousedown",myFunc);
canvas.removeEventListener("mousedown",myFunc);
|
Спасибо, счастье есть ))
|
| Часовой пояс GMT +3, время: 21:12. |