我试图在加载框时运行一个函数,对于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中运行的小提琴版本。
答案 0 :(得分:1)
那里有一些东西。您不应将选项括在引号中。
$("a#inline").fancybox({
hideOnContentClick: false,
autoDimensions: false
//etc...
});
接下来,您没有正确指定回调函数。通过编写这样的函数:callBack: $(function() { ... });
该函数实际上将被执行。你不希望那样......你希望函数在某个事件上运行。所以你应该做的是:
$('a#inline').fancybox({
callbackOnShow: function() {
$('#palette').on('mouseover', 'a', function(event) {
//...
});
}
});
我不确定你在使用的文本编辑器中是否存在这种情况,或者在此处粘贴代码时格式化了,但是虽然不是绝对必要,但它是非常好主意使用适当的缩进。它使得发现语法错误变得容易得多。
最后,您应该考虑为Firefox安装Firebug,如果您还没有。它将帮助您找出语法错误的位置。