2011-06-23 78 views
0

如果你檢查出http://social.allthingswebdesign.com,點擊「獲取社交」鏈接,並有6個圖標。我試圖讓三角形出現在圖標下方。簡單的jquery直播(點擊)不能正常工作

我從下面的代碼開始,但我無法得到任何東西出現在控制檯中的螢火蟲。我的交易是什麼?

$('.pic').live('click', function() { 
    console.log('in here???'); 
}); 
+0

要補充 「.PIC」 動態頁面?如果不是你不能使用live(),你應該使用bind(),或者單擊() –

+0

yes是動態添加的 – Catfish

+1

@valipour .live()通過事件委託來工作。在綁定事件之前或之後,對象是否存在並不重要。 – djlumley

回答

2

我認爲這個問題是很可能是該「標籤」插件殺死你「點擊」事件,防止他們向上冒泡的身體。

編輯 —似乎是「標籤」插件可以讓你給它一個「點擊」處理器,這是我應該想返回「True」,使其工作:

$("ul.idTabs").idTabs({ 
    click: function() { 
    console.log('in here???'); 
    $('#innest .idTabs li a').remove('#triangle'); 
    $(this).append('<img id="triangle" src="triangle.png" />'); 
    return true; // I think 
    } 
}); 

我不不知道爲什麼要動態地添加所有的HTML。爲什麼不直接將其包含在頁面中並隱藏它直到你需要它?這非常麻煩,並且容易出錯,在JavaScript代碼中包含許多標記。

+0

它基本上是一個我正在開發的,尚未打包的插件。你有什麼想法,我點擊後仍然可以讓三角形出現在圖標下方嗎? – Catfish

+0

我會編輯我的答案... – Pointy

+0

你在哪裏看到有關點擊事件處理程序的信息?我看到idTabs網站上沒有任何文檔。我覺得這個插件根本不需要,它需要大量的2行代碼才能在不使用傻插件的情況下工作。 – nzifnab

0

這是你的idTabs插件導致的問題,把它寫出console.log。

我嘗試使用開發者網站上的測試版,但繼續停止其餘的工作。

我會試着寫自己的jQuery來做你想做的事,它只會比一個大插件少幾行,你可以肯定它不會搞砸其他任何東西。

1

降idTabs去與此:

$('.pic').live('click', function(){ 
    $('.contentArea').hide(); 
    $('#' + $(this).attr('href')).show(); 

    // Your triangle logic goes here. 
});