Jquery непонятное поведение

Discussion in 'PHP' started by kraken, 26 Mar 2011.

  1. kraken

    kraken Member

    Joined:
    2 Jan 2009
    Messages:
    74
    Likes Received:
    75
    Reputations:
    5
    Вобщем есть такой код
    Code:
    // Load in a track on click
    	$('td.playerbutton a.playing').click(function(e) {
    		e.preventDefault();
    		// last track
    		alert($(this).hasClass("playing"));//$(this).attr('class'));
    		$('td.playerbutton a.pause').removeClass('pause').addClass('playing');
    		$(this).addClass('pause').removeClass('playing');
    		audio.load($(this).attr('data-src'));
    		audio.play();
    	});
    	
    
    При нажатии на тег <A class="playing"> выходит алерт True
    при этом class становится ="pause"

    нажимаю на на тег <A class="pause"> выходит алерт False
    тк почему же селектор и функция сработали?
     
  2. Naydav

    Naydav Elder - Старейшина

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Потому что было навешано событие на объект, даже если он изменил класс, событие останеться привязано к объекту.

    Для отвязки событи я от объекта есть метод unbind()