Почему это событие срабатывает только на некоторых кликах, а не на других? - PullRequest
0 голосов
/ 03 февраля 2012

Я установил событие щелчка, чтобы скрывать мои контекстные меню всякий раз, когда я щелкаю куда-то; но недавно я изменил его, чтобы он не скрывал его, когда я щелкаю контекстное меню с флажками. вот код для этого:

document.observe( 'mouseup', function( event ){ 
    var $j = jQuery.noConflict();
    if(men_con_afisat == 'da' && anulare_ascundere_men_con == ''){
        men_con_afisat = 'nu';
        if($j(event.target).attr('class').indexOf('no_hide')<0)
        {
            alert($j(event.target).attr('class'));

            ascundere_men_con();
        }       
    }   
    else if(sectiune_pagina == 'proiecte'){ 
        perioada_dezactivare_tragere();
        perioada_dezactivare_mutare();  
    }
    else{

    }   

    coordonate_cursor_x = event.clientX;
    coordonate_cursor_y = event.clientY;    
});

Теоретически он должен печатать атрибут класса элемента, на который я щелкаю, всякий раз, когда на предмете, на который я нажимаю, нет атрибута no_hide в атрибуте класса. Однако это не происходит большую часть времени. Это происходит только после того, как я показываю и скрываю контекстное меню, для которого я изменил функцию.

Есть идеи о том, что я могу делать не так?

ascundere_men_con () - это функция, которая скрывает контекстные меню.

1 Ответ

0 голосов
/ 03 февраля 2012

Это будет сделано, только если men_con_afisat == 'da' && anulare_ascundere_men_con == '', но код, который вы разместили, не показывает, где установлены эти (предположительно глобальные) переменные.

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