Делегат и: не (.myClass) не работают вместе - PullRequest
1 голос
/ 06 октября 2011

я хочу выбрать все ul li предметы, которые не имеют .roundabout-in-focus класс

    $("ul").delegate("li.roundabout-in-focus", "click", function() {


        $(this).css({position:'absolute',height:'300px',width:'400px',left:'50px',top:'-50px'});
        $(this).find('img').hide();
        $(this).find('iframe').css({'visibility':'visible'});
});




$("ul").delegate("li:not(.roundabout-in-focus)", "click", function() {
                        /* $('.roundabout-in-focus').css({position:'absolute',height:'300px',width:'400px',left:'120px',top:'-20px'});*/
                        alert('hey');
                        $('.roundabout-in-focus').find('img').show();
                        $('.roundabout-in-focus').find('iframe').css({'visibility':'hidden'});

    });

но предупреждение никогда не срабатывает (и есть пункты);

на самом деле, если я:

alert($('li:not(.roundabout-in-focus)').length);

это выводит: 3

есть идеи, почему?

1 Ответ

2 голосов
/ 06 октября 2011

Может быть другой обработчик, который останавливает распространение события.Попробуйте это:

$("ul").delegate("li", "click", function() {
    if($(this).hasClass("roundabout-in-focus")) {
        $(this).css({position:'absolute',height:'300px',width:'400px',left:'50px',top:'-50px'});
        $(this).find('img').hide();
        $(this).find('iframe').css({'visibility':'visible'});
    } else {
        /* $('.roundabout-in-focus').css({position:'absolute',height:'300px',width:'400px',left:'120px',top:'-20px'});*/
        alert('hey');
        $('.roundabout-in-focus').find('img').show();
        $('.roundabout-in-focus').find('iframe').css({'visibility':'hidden'});
    }
});
...