2013-01-18 101 views
0

請問,爲什麼這段代碼在Firefox中不起作用?Jquery append在Firefox中不起作用

var path = 'http://www.facedabeauty.com.br/teste/0/display/' 
var i = 2; 

$('.gallery a').click(function(){ 
    event.preventDefault(); 
    $('.lightbox').removeClass('preloader').fadeIn(); 
    $('.display').html('<img src="'+path+i+'.jpg" />').addClass('imgdisplay'); 

在Mozilla中,是在瀏覽器中操作圖像,而不是追加img標籤。

你可以看到一個例子:http://codepen.io/Mpleandro/full/CaAip

回答

3

你打電話event.preventDefault(),這將創建一個錯誤,並且由於該代碼的其餘部分不執行。你需要改變它:

$('.gallery a').click(function(event){ 
     event.preventDefault(); 

jQuery將其事件對象作爲第一個參數傳遞給回調函數。 全局對象event不存在於每個瀏覽器中,因此不應使用。 始終使用作爲第一個參數傳遞給您的回調函數的jquery事件。

+0

非常感謝!在工作中!!!!! –

0

更改event.preventDefault()e.preventDefault(),並將e參數添加到您的匿名函數回調。

var path = 'http://www.facedabeauty.com.br/teste/0/display/' 
var i = 2; 

$('.gallery a').click(function(e){ 
    e.preventDefault(); 
    $('.lightbox').removeClass('preloader').fadeIn(); 
    $('.display').html('<img src="'+path+i+'.jpg" />').addClass('imgdisplay'); 
+0

太棒了!成功了! –

+0

只有一個問題:函數內部的'e'是什麼意思()...我可以用它做什麼或者我把它放在哪裏? –