Почему я не могу отменить привязку события на основе состояния флажка? - PullRequest
0 голосов
/ 28 декабря 2011

Я пытаюсь прикрепить прослушиватель событий к флажку, только если он не отмечен .Но событие (срабатывание оверлея) происходит, даже если я пытаюсь это проверить.

  1. Перейдите на эту страницу: http://eetest.netmagicsolutions.com/leadform/

  2. Выберите опцию хостинга из выпадающего списка

  3. Попробуйте нажать нафлажок Выделенный хостинг

Вы увидите, что наложение срабатывает, даже если я сниму флажок.

Вот мой код:

$grpBoxes.fireReveal = function($input) {       

    //fire overlay only if input is not checked
    $input.on('change.overlay', function(e) {
        console.log($input.attr('checked'));
        if($input.is(':checked')) {                 
            $input.overlay({

            onBeforeLoad: function(){                       
                console.log('ready to fire');
                $input.addClass('fired');                           
            },

            // load it immediately after the construction
            load:true,

            // disable this for modal dialog-type of overlays
            closeOnClick: false

            });                     
        }

        else {
            $input.removeClass('fired');
            $input.off('change.overlay');
            console.log($input.attr('checked'));
            return false;       
        }   

    }); // end callback




}; // end fireReveal

Вот мой живой код: http://eetest.netmagicsolutions.com/leadform/ Вот мой полный сценарий: http://eetest.netmagicsolutions.com/leadform/js/jquery.leadform.js

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...