2013-05-20 213 views
0

後不費一槍我有此示例代碼爲我的jQuery:jQuery的。點擊()點擊一個鏈接

$(document).ready(function() { 
    $('.content').click(function(){ 
     console.log("Test!") 
    }); 
}); 

我必須跟X的div的HTML頁面,通過像這樣的鏈接preceeded。

<a name="itemX"></a> 
<div class="content">itemX</div> 

在每個div的頂部是一個無序列表,其中包含指向該文件中所有div的鏈接。點擊其中一個鏈接時,網址更改爲"/index.html#itemX"

現在的問題是,當我點擊第一個鏈接時,它會顯示「測試!」輸出,但是當我在網址中使用"#itemX"的頁面時,click()事件不會觸發。這是否意味着或者我錯過了什麼?我已經嘗試了.on()方法以及...

+0

'$(文件)。就緒(函數(){$ ()點擊(函數(){ 的console.log( 「測試!」); //ü錯過了分號 }); });' – user1

+0

有什麼問題?它適用於[jsfiddle](http://jsfiddle.net/tBbBR/)。 @ user2146515在Javascript中缺少分號不會導致任何麻煩。 –

+0

http://learn.jquery.com/events/event-delegation/ - 這是否與您的問題有關?是動態生成的divs/anchor標記嗎? –

回答

0

Firebug明顯造成這個問題...我卸載,重新安裝它,現在它工作正常...我不知道如何工作。 '內容'。

-1

你錯過了console.log分號。也加return falseconsole.log()所以你沒有得到#itemx

+0

謝謝你的返回虛假提示! – Pieterjan

+0

正如我前面所述,缺少分號不會導致任何錯誤,如[證明](http://i.imgur.com/v3H5KFw.png) –

0

我以前有過幾個瀏覽器的這個問題。修正它通過使用此代替:

$(document).ready(function() { 
    $('.content').bind("click", function(){ 
     console.log("Test!"); 
    }); 
}); 

或者,也許綁定mousedown或mouseup可以做的伎倆。

+0

感謝!現在修復它,是由Firebug造成的:) – Pieterjan

+0

注意['。.bind()'](http://api.jquery.com/bind/)只是['.on()']的語法糖http://api.jquery.com/on/)。 ['.click()'](http://api.jquery.com/click/)將運行相同的代碼。 – SoonDead

+0

綁定和打開是相同的,但點擊()必須是不同的,因爲我點擊不工作,但綁定(「點擊」,函數(){})之前工作。所以肯定只有click()會發生其他事情。 –