Показать сообщение отдельно
  #1 (permalink)  
Старый 06.06.2011, 12:28
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

Вопрос про события
может кто знает, почему
$('.A').live('click', function(){
                alert('.A');
   	    }); 
        $('.B').live('click', function(){
                alert('.B');
   	    });

работает, а
var selectorArr = ['A', 'B'];        
        var selectorArr   = ['A', 'B'];        
        var classArr      = [];
            classArr['A'] = '.A';
            classArr['B'] = '.B'; 

        for (var key in selectorArr) {
            var name     = selectorArr[key];
            var selector = classArr[name];

            $(selector).live('click', function(){
                alert(selector);
       	    });            
    	       
    	}

не работает, вместо этого он на оба селектора будет выводить в алерте '.B', причем не просто .B, а именно последний элемент в selectorArr, тоесть если поменять местами -
var selectorArr = ['B', 'A'];

то будет всегда выводить '.A'. Если поставить еще алерт в for за пределами live, и вывести name и selector, то в нем выведет всё как надо. в фаербаге смотрел объекты event-ов - в обоих случаях, всегда одни и те же. WTF
Ответить с цитированием