我正在尝试通过窗口对象访问函数。在我的代码中,我的函数由字符串引用,因此我必须使用窗口对象(或 eval)来获取它。我用纯 JavaScript 测试了我的代码,它运行得很好。但是当使用 jQuery 时却失败了。这是我的测试代码:
function speak(words, callback){
for(var i=0;i<10000;i++){
console.log(words);
}
if(callback)
callback.call();
}
console.log(window['speak']);
Here is a link to the pure JavaScript version which works.
Here is a link to the jQuery version which doesn't work.
我需要做什么才能在 jQuery 中实现此功能?
最佳答案
您没有将 speak
声明为 window
的成员,JSFiddle 实际上将其包装在 document.ready
回调中。 You'll need to explicitly set window.speak = speak
as part of your code if you want it available on the window
object .
或者,您需要将 fiddle 配置为 execute without a wrapper rather than onDomReady
关于javascript - 为什么使用 jQuery 时无法通过 window 对象访问对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464749/