2011-07-28 59 views

回答

0

要連接的a.live事件處理程序的對象有課前,將第一個內部處理程序,即

$("a.theLink").click(function(){ 
    $(this).addClass("live"); 
    $("a.live").click(function(){ 
     alert("YO!"); 
     return false; 
    }); 
    return false; 
}); 

這不是最好的方法,但我希望它能告訴你什麼是錯的。

1

你有幾個誤區:

這工作:

$("a.theLink").click(function(event){ 
    event.preventDefault(); 
    $(this).addClass("live"); 
}); 

$("a.live").live('click',function(event){ 
    event.preventDefault(); 
    alert("YO!"); 
}); 

你需要阻止默認事件行爲,並且還添加了面向未來的事件觀察器,如live()delegate()因爲你是綁定設置後,將該類添加到對象中。

http://jsfiddle.net/AlienWebguy/3hp9f/16/

0

您可以使用此liveAPI Ref)方法,它附加一個事件來選擇所有當前和未來的比賽:

$("a.live").live('click', function(){ 
    alert("YO!"); 
    return false; 
}); 
0

嘗試this

$("a.theLink").click(function(){ 
    $(this).unbind('click').addClass("live"); 
    return false; 
}); 

$("a.live").live('click', function(){ 
    alert("YO!"); 
    return false; 
}); 

的代碼是不是正是你怎麼過的,但也有一些問題。我使用了$('')。live,但您可能想要在第一次單擊事件中綁定事件。也知道如果您從您的事件中返回false而不是使用preventDefault,則只會觸發第一個點擊事件。