关于.live()的简单jQuery问题

时间:2010-03-06 22:37:01

标签: javascript jquery

不确定我做错了.live()

$(function(){
        var wrapper = $('#trailer_wrapper');
        var button = $('h2 a');

        button.click(function() {
            wrapper.fadeIn(2000);
            button.addClass('selected');
            button.text('close ×');
            return false;
        });

        $('h2 a.selected').live('click', function() {
            wrapper.fadeOut(2000);
            $(this).removeClass('selected');
            button.text('Watch Trailer »');
            return false;
        });
    });

1 个答案:

答案 0 :(得分:5)

你的“点击”处理程序(“直接”处理程序)仍然会运行,它将在“实时”处理程序之前运行。

尝试使用点击处理程序:

button.click(function() {
  if ($(this).is('.selected')) {
    wrapper.fadeOut(2000);
    $(this).removeClass('selected');
    button.text('Watch Trailer »');
  }
  else {
    wrapper.fadeIn(2000);
    button.addClass('selected');
    button.text('close ×');
  }
  return false;
});