Jquery追加功能在Firefox中不起作用

时间:2013-01-18 13:13:20

标签: jquery firefox incompatibility

请问,为什么这段代码在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

中看到一个示例

2 个答案:

答案 0 :(得分:3)

你调用event.preventDefault()这会产生错误,因此不会执行其余的代码。你需要改变这个:

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

jQuery将其事件对象作为第一个参数传递给回调函数。 全局对象event在每个浏览器中都不存在,不应使用。 始终使用作为第一个参数传递给回调函数的jquery事件。

答案 1 :(得分: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');