2013-03-21 17 views
0

Я знаю, что этот вопрос уже обсуждался в похожих темах, но ни одно из решений, которое я мог найти, не может помочь мне понять, что у меня есть.JavaScript (jquery) - Проблема в событии click

Вот мой упрощённый класс и его обычный, я определяю их.

BottomNav = function() { 
    this.init(); 
} 

$.extend(BottomNav.prototype, { 
    init: function(){ 

     this.insue = false; 

    $(".up").click($.proxy(function() { 
      var thisinuse = this.inuse; 
      if(this.inuse===false) { 
       this.inuse = true; 
       this.moveSlider('up'); 
     } 
    },this)); 
    }, 
    moveSlider: function(d){ 
    //some instructions 
     alert('move slider'); 
    } 
}); 


$(document).ready(function() { 
    new BottomNav(); 
}); 

В FireBug на контрольной точке внутри this.inuse событий нажмите неопределен! (это моя проблема), моя область выглядит хорошо на часах (правая панель firebug), this.insue является ложным, так как должно быть - извините, что я не могу отправить изображения!

Я был бы признателен, если кто-то может помочь определить это очень странное поведение.

Я попробовал некоторый штат, например, поставить определение события клика внутри другой функции, но он тоже не работает. Я пробовал разные способы привязки, и он тоже не работает.

Однако приведенный ниже пример работает над рядом других классов, которые я сделал. Я мог получить доступ к классу из событий, эффектов.

+0

место 'var thisinuse = this.inuse;' вне клика и ссылки 'thisinuse' внутри функции щелчка – ashley

ответ

0

this.inuse может быть назначено переменной стороне вашего обработчика событий кликов и использовать переменную внутри обработчика.

2

Это просто опечатка:

this.insue = false; 

Изменения insue в inuse и имущество будет там :-)

Кроме того, переменная thisinuse является совершенно излишней здесь. И измените условие на if(! this.inuse) вместо сравнения с булевыми ...

+0

:) спасибо вам за помощь и извините за открытие бесполезные сообщения. – Tigoes

+0

Да, я знаю, эта переменная была частью тестов, которые я сделал, поэтому я могу установить точки останова ниже. Я не заметил ошибку опечатки. Спасибо – Tigoes

Смежные вопросы