【发布时间】:2014-01-07 05:25:30
【问题描述】:
我已经看到了几个与此相关的问题,但没有一个提供明确的答案。
在这个 JavaScript 中:
function global_function() {
a_jquery_function();
}
$(function () {
var a_jquery_function = function () {
do_something();
};
});
我可以做点什么让全局函数调用 jQuery 函数吗?显然,它不能像我在那里那样做,但我想知道是否可以使用jQuery.fn 或使用自定义事件来完成。例如:
function global_function() {
$.fn.a_jquery_function();
}
$(function () {
$.fn.a_jquery_function() = function () {
do_something();
};
});
或
function global_function() {
trigger_event('my_event', args);
}
$(function () {
$(document).on('my_event', function(args) {
do_something();
});
});
我尝试了第一个,但遇到了问题。如果我知道其中任何一个都是可能的,我会更多地研究它们。但如果有人知道这是不可能的,我想我将不得不放弃它。
谢谢。
【问题讨论】:
-
实际情况是什么?
-
感谢您的编辑,tymeJV。我校对了帖子,但显然不是标题。哎呀。
-
为什么两者都做不到?您是否怀疑有不屈不挠的编程物理定律会阻止它?第一个实例实际上只是创建一个全局变量,因为您将属性附加到可从全局变量
$访问的对象。 -
为什么要在变量名的末尾加上括号?
-
我需要使用需要全局声明函数的 YouTube IFrame API。主要的是视频帧准备就绪时的事件处理程序。但我希望这些函数能够与在 jQuery 块中定义的其余代码进行交互。我也不希望在全局范围内定义超过绝对最小数量的函数。
标签: javascript jquery scope