Показать сообщение отдельно
  #1 (permalink)  
Старый 15.02.2016, 14:10
Новичок на форуме
Отправить личное сообщение для Leif Посмотреть профиль Найти все сообщения от Leif
 
Регистрация: 27.12.2015
Сообщений: 4

Верное использование 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);
}



Скажите, что я делаю не так ? Как правильно убрать слушателя ?
Ответить с цитированием