如果我在启动时有很多函数,它们都必须在一个单一的:
$(document).ready(function() {
或者我可以有多个这样的声明?
如果我在启动时有很多函数,它们都必须在一个单一的:
$(document).ready(function() {
或者我可以有多个这样的声明?
当前回答
是的,你可以。
如果您有其他模块使用同一个页面,那么多个文档就绪部分将特别有用。用旧窗户。Onload =func声明,每次指定要调用的函数时,它都会替换旧的函数。
现在,所有指定的函数都被排队/堆叠(有人能确认吗?),而不管它们是在哪个文档准备部分中指定的。
其他回答
是的,完全没问题。但是要避免没有理由就这么做。例如,当我的javascript文件动态生成时,我使用它来声明全局站点规则,而不是单独的页面,但如果你只是不断地这样做,它会使它难以阅读。
另外,您不能从另一个方法访问某些方法 jQuery(函数(){});调用 这是你不想这么做的另一个原因。
用旧窗户。Onload,但你将替换旧的每次你指定一个函数。
是的,这是可能的,但你可以更好地使用一个div #mydiv和使用两者
$(document).ready(function(){});
//and
$("#mydiv").ready(function(){});
是的,你可以。
如果您有其他模块使用同一个页面,那么多个文档就绪部分将特别有用。用旧窗户。Onload =func声明,每次指定要调用的函数时,它都会替换旧的函数。
现在,所有指定的函数都被排队/堆叠(有人能确认吗?),而不管它们是在哪个文档准备部分中指定的。
你可以使用multiple。但是您也可以在一个文档中使用多个函数。准备好了:
$(document).ready(function() {
// Jquery
$('.hide').hide();
$('.test').each(function() {
$(this).fadeIn();
});
// Reqular JS
function test(word) {
alert(word);
}
test('hello!');
});
你也可以这样做:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#hide").click(function(){
$("#test").hide();
});
$("#show").click(function(){
$("#test").show();
});
});
</script>
</head>
<body>
<h2>This is a test of jQuery!</h2>
<p id="test">This is a hidden paragraph.</p>
<button id="hide">Click me to hide</button>
<button id="show">Click me to show</button>
</body>
前面的答案显示了在单个.ready块中使用多个命名函数,或者在.ready块中使用单个未命名函数,在.ready块外使用另一个已命名函数。我在研究是否有一种方法可以在.ready块中有多个未命名的函数时发现了这个问题-我无法得到正确的语法。我最终找到了答案,并希望通过发布我的测试代码来帮助其他人寻找我同样问题的答案