JavaScript :- 不能在初始化之前调用 A 上的方法;试图调用方法“resizeGrid”

Posted

技术标签:

【中文标题】JavaScript :- 不能在初始化之前调用 A 上的方法;试图调用方法“resizeGrid”【英文标题】:JavaScript :- cannot call methods on A prior to initialization; attempted to call method 'resizeGrid' 【发布时间】:2021-11-26 06:12:49 【问题描述】:

好吧,我正在尝试将一个在 1 个文件中具有对象和方法的函数调用到另一个文件。

File 1 --
    var a =
            resizeGrid : function()
            //this manipulates the height & width of a grid
                                   
           
File 2 --
    var b =
            manipulateGrid: function()
            $('#containerGrid_0').a('resizeGrid');
                                      
           

我正在尝试将旧版本的 Jquery 转换为最新版本,即。 1.7 到 2.2.2 使用迁移插件。面对这个问题" cannot call methods on A prior to initialization; attempted to call method 'resizeGrid'"

尝试了一些类似下面的解决方案,但没有奏效。 $('#containerGrid_0').a().a('resizeGrid');

有关信息,请查看 jquery ui Dialog: cannot call methods on dialog prior to initialization

【问题讨论】:

【参考方案1】:

根据您提供的内容,我无法准确说出您的函数在做什么,或者您是如何使用它们的。但这里有一个如何初始化它们的示例。

您可以通过点击来玩它:jsFiddle Example

$.fn.A = function(sFunc)
    var agrid = 
      resizegrid:function(ele)
        ele.append('<div>Hello</div>')
      
    
  agrid[sFunc](this)
;

$.fn.B = function(sFunc)
  var help = 
    checkResize:function(ele)
        ele.A('resizegrid')
    
  
  help[sFunc](this)


$('#btn').click(function()
    $('body').B('checkResize')
)

【讨论】:

好吧,我正在尝试将一个在一个文件中具有对象和方法的函数调用到另一个文件。文件 1 -- var a = resizeGrid : function() //这操作网格的高度和宽度 文件 2 -- var b = 操作网格: function() $('#containerGrid_0').a ('resizeGrid');

以上是关于JavaScript :- 不能在初始化之前调用 A 上的方法;试图调用方法“resizeGrid”的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 函数调用

为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不能反过来?

JavaScript 函数调用

第三次动手动脑

深入理解javascript执行上下文

反应,如何在初始化之前调用一个函数然后阻塞它或任何适当的方式?