我的脚本旨在从缩略图中找到指向全尺寸图片的链接,并在模态窗口中将其打开。它在Chrome中工作正常,但只是跟随链接,似乎忽略了Firefox中的脚本。
$(".gallery-item").click(function(e) {
e.preventDefault();
//get var to hold ".galler-icon a" for this specific pic
var imagelink = $(this).children().children().attr('href');
$('#dialog').append('<img id="theImg" class="resize" src="' + imagelink + '" />');
var caption = $(this).find(".gallery-caption ").text();
$('#dialog').append('<p id="theCaption">' + caption + '</p>');
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set height and width to mask to fill up the whole screen
$('#mask').css({
'width': maskWidth,
'height': maskHeight
});
//transition effect
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow", 0.8);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$("#dialog").css('top', winH / 2 - $("#dialog").height() / 2);
$("#dialog").css('left', winW / 2 - $("#dialog").width() / 2);
//transition effect
$("#dialog").fadeIn(2000);
//if close button is clicked
$('.window .close').click(function(e) {
//Cancel the link behavior
e.preventDefault();
$('#mask, .window').hide();
$('#theImg').remove();
$('#theCaption').remove();
});
//if mask is clicked
$('#mask').click(function() {
$(this).hide();
$('.window').hide();
$('#theImg').remove();
$('#theCaption').remove();
});
return false;
});
总结一下,firefox忽略了这个脚本并跟随链接。我该如何解决这个问题?
答案 0 :(得分:1)
你是否在document.ready处理程序中运行了这个.click()
绑定?如果没有,那可能是您问题的根源。
$(function () {
$(".gallery-item").click(function(e) {
e.preventDefault();
// etc...
});
});
修改的
由于这不起作用,下一个想法是你应该尝试将你的类名改为没有连字符的东西。这可能会绊倒FF。试一试。