0

我试图在盒子加载时运行一个函数,对于 v1.2.5,它似乎应该是 callbackOnShow 属性。这是我的代码,我有一个语法错误,但因为我是一个菜鸟,所以我很难弄清楚。

$("a#inline").fancybox({
            'hideOnContentClick': false,
            'autoDimensions': false,
            'frameWidth': 932,
            'frameHeight': 496,
            'padding': '0',
            'overlayOpacity': '0.7',
            'callbackOnShow': $(function () {
$('#palette').on('mouseover', 'a', function (event) {
    $('#PaletteColorName').text("Color: " + event.target.title);
});
$('#palette').on('mouseleave', 'a', function () {
    $('#PaletteColorName').text("Color: ");
});
});

欢迎使用可能的替代方案。这是我试图在fancybox中发挥作用的小提琴版本。

JS小提琴

4

1 回答 1

1

那里有几件事。您不应将选项括在引号中。

$("a#inline").fancybox({
   hideOnContentClick: false,
   autoDimensions: false
   //etc...
});

接下来,您没有完全正确地指定回调函数。通过编写这样的函数:callBack: $(function() { ... });该函数将实际执行。您不希望那样...您希望该功能在某个事件上运行。所以你应该做的是:

$('a#inline').fancybox({
    callbackOnShow: function() {
        $('#palette').on('mouseover', 'a', function(event) {
            //...
        });
    }
});

我不确定在您使用的文本编辑器中是否是这种方式,或者当您在此处粘贴代码时格式被弄乱了,但虽然不是绝对必要的,但使用适当的缩进是一个非常好的主意。它使发现语法错误变得容易得多。

最后,如果您还没有安装Firebug for Firefox,您应该考虑安装它。它将帮助您找出语法错误的位置。

于 2013-08-28T18:15:46.827 回答