function App(){
...
}
App.prototype.Initialize = function(){
this.initMaps();
this.rtspPlayer = new RTSPPlayer();
this.rtspPlayer.initVXGVideoFeeds();
}
var app = new App();
$(window).load( app.Initialize );
这会出现此错误:
jquery-3.1.1.min.js:4 Uncaught TypeError: a.indexOf is not a function
它不起作用吗?在匿名函数内调用函数作为.load()的参数也不起作用。永远不会调用Initialize()函数。
由于
答案 0 :(得分:1)
load() load
事件的简写,您需要使用:
$(window).on("load", app.Initialize );
否则,jQuery假设这个方法load()然后导致你在jq 3.1.1上面临的错误
答案 1 :(得分:0)
如果您在jQuery API中搜索class Object
{
virtual void print() = 0;
};
class SingletonBase : public Object
{
private:
static Object* theOnlyTrueInstance;
protected:
SingletonBase()
{
if(!theOnlyTrueInstance)
theOnlyTrueInstance = this;
}
virtual ~SingletonBase(){}
public:
static Object* instance()
{
if (!theOnlyTrueInstance) initInstance();
return theOnlyTrueInstance;
}
void print()
{ cout<<"Singleton"<<endl; }
static void initInstance()
{ new SingletonBase; }
};
Object* SingletonBase::theOnlyTrueInstance = 0;
class OtherBase : public Object
{
public:
virtual string printSymbol() = 0;
void print()
{ cout<<printSymbol(); }
};
class SingletonChild : public SingletonBase , public OtherBase
{
public:
string printSymbol()
{
return "Test";
}
static void initInstance()
{ new SingletonChild; }
};
int main() {
SingletonChild::initInstance();
OtherBase* test = dynamic_cast<OtherBase*>(SingletonChild::instance());
test->print();
return 0;
}
,您会发现两种完全不同的方法:
你想要jQuery 3中不再存在的第二个:
不推荐使用版本:1.8,已删除:3.0
对于典型用例,您不需要等到启动脚本,直到所有资产都被加载(不知道您的情况如何),您可以做一些简单的事情:
.load()
这是$(app.Initialize);
的捷径。来自documentation:
绑定DOM完成加载时要执行的函数。