Верное использование 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, время: 16:57. |