Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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);
}



Скажите, что я делаю не так ? Как правильно убрать слушателя ?
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2016, 14:22
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Дайте осмысленное название в теле функции addEventListener и будет вам счастье.

Например,
function myFunc(){
 /* что-то делаем */
}
canvas.addEventListener("mousedown",myFunc);
canvas.removeEventListener("mousedown",myFunc);
Ответить с цитированием
  #3 (permalink)  
Старый 15.02.2016, 15:37
Новичок на форуме
Отправить личное сообщение для Leif Посмотреть профиль Найти все сообщения от Leif
 
Регистрация: 27.12.2015
Сообщений: 4

Спасибо, счастье есть ))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Css cleaner. Верное ли направление? dyhmzall Ваши сайты и скрипты 3 03.12.2015 23:06
JavaScript. Уровень 3в. Серверное программирование на Node.js maxy666 Node.JS 8 10.08.2014 00:36
Использование web камеры freelancer.rnd Общие вопросы Javascript 0 24.07.2014 16:30
FileManager c использование ajax nata031189 Серверные языки и технологии 0 30.03.2012 02:40
Про использование cookies zloctb Общие вопросы Javascript 3 11.02.2012 09:36