2010-09-09 32 views
3

不觸發該功能的jQuery click事件附加插件的fancybox一些圖像。在圖像滑塊中單擊圖像時,會在#hidden images div內打開相應的較大圖像。它適用於Internet Explorer,但不適用於Firefox(3.6.9)。我如何讓它在Firefox中工作?在Firefox

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#hidden_images a").fancybox(); 
     $("#image_slider img").click(function(event) { 
      var $tgt = $(event.target); 
      var $desc = $tgt.attr("longdesc"); 
      $("#" + $desc).click(); 
     }); 
    }); 
</script> 

這裏是我的HTML:

<div id="image_slider" class="imageflow"> 
    <img src="images/press/charity1.jpg" longdesc="charity1" width="250" height="250" alt="Charity 1" /> 
    <img src="images/press/charity2.jpg" longdesc="charity2" width="250" height="250" alt="Charity 2" /> 
</div> 
<div id="hidden_images"> 
    <a id="charity1" href="images/press/charity1_lg.jpg" style="display:none;"><img src="images/press/charity1_lg.jpg" alt="charity one caption"/></a> 
    <a id="charity2" href="images/press/charity2_lg.jpg" style="display:none;"><img src="images/press/charity2_lg.jpg" alt="charity two caption"/></a> 
</div> 
+0

哪個元素實際上是被點擊了? – 2010-09-09 19:46:24

+0

添加了html - 希望有所幫助。 – FiveTools 2010-09-09 20:06:44

+0

你的'

3

你的問題可能是使用longdesc,這是not supported by major browsers。 Internet Explorer可能允許您向DOM無法識別的屬性添加屬性,而FireFox可能會禁止此行爲。嘗試將描述存儲在alt屬性中,或者如果需要,通過jquery的data方法進行存儲。

+0

如果我使用標準的「標題」屬性並被所有主要瀏覽器識別 - 事件仍然不會在Firefox中觸發。 – FiveTools 2010-09-09 20:03:41

+0

@FiveTools - 你確定這是不是開火的事件,而不是別的?看起來事件應該是一個問題。 – JasCav 2010-09-09 20:35:46

+0

該事件在IE中預期火災 – FiveTools 2010-09-09 20:51:07

1

我也堅持同樣的問題,其中firefox不與onclick事件。

我的要求:我不得不動態地添加多個相冊,所以我必須將每個相冊的id傳遞給fancybox,以便圖像庫可以打開特定相冊的圖像。

我沒有谷歌搜索,我找到this URL一些技巧,但沒有在我的情況下工作。我在搜索和改變方面失去了3-4個小時。最後我做了一些修改的專輯圖片標籤,而不是錨標籤上我的HTML代碼和防火onclick事件,它在Mozilla工作正常,IE-7,IE 8,Safari瀏覽器以及Chrome瀏覽器。

onclick="$('a.pop{$key}').fancybox().trigger('click');" 

// { @$key = Use your dynamic id } 

我希望這可以幫助你們。

0

我在點擊事件不能在Firefox工作的一個類似的問題,只有確定執行沒有被一個「跨度」炒魷魚。將範圍中的屬性移動到「按鈕」標籤並開始工作。從

更改HTML:<span class="some-class"> 爲:<button class="some-class">

的Javascript:

$(document).on('click','.some-class',function(){alert("Test click event.");}); 

簡而言之,你需要解決的事件對你正在聽的標籤類型。