首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将函数传递给jquery窗口加载不起作用

将函数传递给jquery窗口加载不起作用
EN

Stack Overflow用户
提问于 2016-10-03 14:09:29
回答 2查看 990关注 0票数 0
代码语言:javascript
复制
function App(){
...
}
App.prototype.Initialize = function(){
    this.initMaps();
    this.rtspPlayer = new RTSPPlayer(); 
    this.rtspPlayer.initVXGVideoFeeds();
}

var app = new App();

$(window).load(  app.Initialize );

这就产生了以下错误:

代码语言:javascript
复制
jquery-3.1.1.min.js:4 Uncaught TypeError: a.indexOf is not a function

它不管用吗?将匿名函数中的函数作为.load()的参数调用也不起作用。函数从未被调用。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-03 14:16:46

负载()已从JQ3.x中删除了load事件的缩写,您需要使用:

代码语言:javascript
复制
$(window).on("load",  app.Initialize );

否则,jQuery假设此方法为负载(),这将导致您在JQ3.1.1上遇到错误

票数 1
EN

Stack Overflow用户

发布于 2016-10-03 14:19:15

如果在.load() API中搜索jQuery,您将发现两种完全不同的方法:

  • .load() -从服务器加载数据,并将返回的HTML放入匹配的元素中。
  • .load() -将事件处理程序绑定到“加载”JavaScript事件。

您需要在jQuery 3中不再存在的第二个:

不推荐版本: 1.8,移除: 3.0

在典型的用例中,您不需要等待启动脚本,直到加载了所有资产(不知道是否是您的情况),您可以做一些简单的事情,如:

代码语言:javascript
复制
$(app.Initialize);

这是$( document ).ready()的捷径。来自文档

绑定要在DOM完成加载时执行的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39833642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档