如何调用中的$(document)。就绪从功能外它
你怎么称呼功能LOL()从$(文件)。就绪(),例如外:
$(document).ready(function(){
function lol(){
alert('lol');
}
});
尝试:
$(document).ready(function(){
lol();
});
而干脆:
lol();
它必须像一个外部的JavaScript中调用:
function dostuff(url){
lol(); // call the function lol() thats inside the $(document).ready()
}
定义窗口对象的功能,使其全球从另一个功能范围:
$(document).ready(function(){
window.lol = function(){
alert('lol');
}
});
之外的功能被定义在块的,这是超出范围,你就不能调用它。
但是没有必要定义存在的功能。为什么不干脆:
function lol() {
alert("lol");
}
$(function() {
lol(); //works
});
function dostuff(url) {
lol(); // also works
}
您可以全局定义的函数是这样的:
$(function() {
lol = function() {
alert("lol");
};
});
$(function() {
lol();
});
这一工程,但不建议使用。如果你要在全局命名空间中定义一些东西,你应该使用第一种方法。
我认为试图从第二个例子中定义全局函数时,为了避免歧义,你可以这样做:'窗口[“笑”] =功能( ){/ *函数的主体* /};'。 – Tadeck 2012-02-21 06:07:15
http://api.jquery.com/ready/ – 2012-11-08 02:08:34
verrrrrrrrrrrry goooooooooooooood这个 – ashkufaraz 2014-09-22 05:37:53
短版:你不能,这是超出范围。这样定义你的方法,以便它可以:
function lol(){
alert('lol');
}
$(function(){
lol();
});
怎么样的情况下原型安装使用jQuery我们为jQuery设置了noconflicts?
jQuery(document).ready(function($){
window.lol = function(){
$.('#funnyThat').html("LOL");
}
});
现在我们可以从任何地方调用lol,但是我们是否引入了与Prototype的冲突?
你不需要和那 - 如果一个函数是在Document.Ready之外定义的 - 但你想调用它Document.Ready - 这是你的方式 - 这些答案导致我在错误的方向,不要再次输入函数,只是函数的名称。
$(document).ready(function() {
fnGetContent();
});
哪里fnGetContent是在这里:
function fnGetContent(keyword) {
var NewKeyword = keyword.tag;
var type = keyword.type;
$.ajax({ .......
这个简单的解决方案适用于我 – 2012-03-28 10:17:51
这是一个很好的解决方案,救了我小时! – Oritm 2012-09-27 20:01:50
在我发现的所有令人困惑或复杂的答案中,这是唯一对我有用的东西。 – jyoseph 2015-04-22 18:40:49