Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问一个非全局函数,并且它存在于另一个js文件中?_Javascript_Jquery - Fatal编程技术网

Javascript 如何访问一个非全局函数,并且它存在于另一个js文件中?

Javascript 如何访问一个非全局函数,并且它存在于另一个js文件中?,javascript,jquery,Javascript,Jquery,我有以下js文件,我想从另一个函数访问一个函数,但我在另一个js文件中调用它。我在调用它时收到此错误未捕获引用错误:未定义vidPause (function($) { $.fn.controlls = function(opt) { ...... function init() { ..... } function vidPause(e){ e.stopPropagation(); $.fn.controlls.tog

我有以下js文件,我想从另一个函数访问一个函数,但我在另一个js文件中调用它。我在调用它时收到此错误
未捕获引用错误:未定义vidPause

(function($) {
    $.fn.controlls = function(opt) {
    ......
    function init() {
    .....
    }
    function vidPause(e){
       e.stopPropagation();
       $.fn.controlls.toggleBarPlayingButtons('pause');
       video.pause();
    }
    .....
从这个js文件中,我想在另一个js文件中的以下函数中调用vidPause

function myFunction(e) {
    if (video) {
        $('video').controlls(vidPause());
这是一个范围问题

init()

许多jquery插件使用文本(不是我的首选项,但它们就是这样工作的),例如$.dialog(“open”),所以您可以这样做(不确定opt是否意味着操作,所以相应地更新):

用法


可以像使用名称空间一样添加方法,但我在插件中没有看到这种情况,因此这取决于您对插件所做的操作(即释放插件)是否希望保持一致,例如:

(function($) { 
    $.fn.controlls = {};
    $.fn.controlls.pause = function(opt) {
        video.pause();
        ...
用法

这是一个范围问题

init()

许多jquery插件使用文本(不是我的首选项,但它们就是这样工作的),例如$.dialog(“open”),所以您可以这样做(不确定opt是否意味着操作,所以相应地更新):

用法


可以像使用名称空间一样添加方法,但我在插件中没有看到这种情况,因此这取决于您对插件所做的操作(即释放插件)是否希望保持一致,例如:

(function($) { 
    $.fn.controlls = {};
    $.fn.controlls.pause = function(opt) {
        video.pause();
        ...
用法


可能重复先加载第二个js文件,然后调用第二个js文件函数这是如何实现的。首先加载脚本。js然后Controls.jsmyFunction将无法访问vidPause,因为它无法从IILife以外的范围访问。您必须使用示例中的s.getScript加载其他文件,以使此工作正常k、 你根本无法访问你的作用域之外的变量可能是先加载第二个js文件,然后调用第二个js文件函数的副本这就是它的制作方法。首先加载脚本。js然后controlls.jsmyFunction将无法访问vidPause,因为它无法从比你的IIFE更外部的作用域访问。你必须使用.getScript以使其工作。您无法访问范围外的变量
(function($) { 
    $.fn.controlls = {};
    $.fn.controlls.pause = function(opt) {
        video.pause();
        ...
$('video').controlls.pause()