2

我在 IE 7 中遇到了 JavaScript 范围的真正问题。

我已经在页面顶部声明了如下功能

function close_fancy()
{
  $.fancybox.close();

}

调用函数

<input type="reset" name="reset" id="button2" value="Close'" onclick="close_fancy();"/>

它可以在除 IE-7 之外的所有主要浏览器上运行,它会引发以下错误

The value of the property 'close_fancy' is null or undefined, not a Function object

请帮我解决这个...

4

2 回答 2

1

尝试这个:

parent.$.fancybox.close();
于 2013-06-11T11:36:53.623 回答
0

由于您使用的是 jQuery,因此您应该以 jQuery 样式编写它。

这意味着不在onclick=HTML 代码中使用,而是编写一个$(elem).click()函数,如下所示:

$('#button2').click(function() {
    $.fancybox.close();
}

然后,您根本不需要单独的close_fancy功能。

与 jQuery 一样,这段代码应该放在页面底部的 javascript 块中,或者放在$(document).ready()函数内。

于 2013-06-11T12:36:49.987 回答