2011-05-28 161 views
0

您好,我最近問了一個關於針對動態生成的鏈接的問題,然後有人向我提供了一個可行的答案,然而,更詳細地研究了它,我需要的功能稍有不同。jQuery點擊事件問題

以下代碼切換突出顯示的類的段落,該段落對應於由單獨的函數生成的鏈接。這是基於3個鼠標事件:

$("#hi-4").live("mouseover mouseleave click", function(){ 
    $("p#p-4").toggleClass("highlighted"); 
}); 

這個偉大的工程,但我想突出顯示類留如果點擊相關鏈接(直到另一個鏈接被點擊)目前,它切換爲上市而沒有按每個事件點擊後不會突出顯示。我試圖爲每個事件創建單獨的函數,並嘗試使用.addClass,.removeClass`爲每個事件的不同組合,但我不能讓它保持僅在單擊時突出顯示。非常感謝

編輯:

繼承人的jsfiddle鏈接http://jsfiddle.net/RVYnb/6/一個例子,由於

回答

1

你的意思是你想要的高亮留在,直到用戶點擊別的東西?

這樣的舉動? :http://jsfiddle.net/QLEHY/1/

<a href='#'>Para 1</a> 
<a href='#'>Para 2</a> 
<a href='#'>Para 3</a> 

<p>Some text. Some text. Some text. Some text. Some text. </p> 
<p>Some text. Some text. Some text. Some text. Some text. </p> 
<p>Some text. Some text. Some text. Some text. Some text. </p> 


$('a').click(function(){ 
    $('p.active').removeClass('active'); 
    $('p') .eq($(this).index()).addClass('active'); 
}); 

在你的代碼的情況下,簡單地將它應該是罰款之前刪除的類。

$("#hi-4").live("mouseover mouseleave click", function(){ 
    $('p.highlighted').remove(); //remove all the highlighted classes. 
    $("p#p-4").toggleClass("highlighted"); 
}); 
+0

謝謝你的回覆,這就是我正在尋找的功能(加上鼠標懸停/鼠標離開效果)這段代碼不幸不起作用。該段落不會像您的示例一樣突出顯示,而且如果您不止一次推出了該事件,則該事件不會被正確觸發。任何其他想法?謝謝 – tcnarss 2011-05-28 11:27:11

+0

@tcnarss沒有你的HTML就有點難說。你可以在小提琴上發佈你的簡化標記並在這裏發佈鏈接嗎? – JohnP 2011-05-28 11:36:34

+0

道歉,這裏的例子[鏈接](http://jsfiddle.net/RVYnb/6/)其儘可能簡化,你可以看到(在#p-2段落中)mouseover和mouseleave事件正在工作罰款,但點擊事件似乎沒有正確添加類..任何幫助將非常感激,它一直在竊聽我 – tcnarss 2011-05-28 13:16:03

1

你可能想是這樣的:

$("#hi-4").live("mouseover mouseleave", function(){ 
    if(!$("p#p-4").hasClass("clicked")) { 
     $("p#p-4").toggleClass("highlighted"); 
    } 
}); 

$("#hi-4").live("click", function() { 
    $("p#p-4").addClass("clicked").addClass("highlighted"); 
}); 

$("a:not(#hi-4)").live("click", function() { 
    $("p#p-4").removeClass("clicked").removeClass("highlighted");  
}); 

jsfiddle example

+0

這似乎是正確的解決方案,它適用於鼠標懸停/離開事件,但點擊事件仍然無效。 id爲'#hi-4'的鏈接是由一個單獨的函數創建的,我的印象是.live方法可以解決這個問題,除了點擊事件之外,所有東西都可以工作。很難發佈完整的示例,因爲鏈接是從圖像滑塊動態生成的縮略圖。 – tcnarss 2011-05-28 11:53:59

+0

編輯:你的例子完美的作品,雖然看到我的代碼,同時點擊鏈接它出現點擊類沒有被應用。 – tcnarss 2011-05-28 12:01:37

+0

另外我使用jQ 1.4.4可能這是潛在的問題 – tcnarss 2011-05-28 12:12:24