如何在HTML onload中调用jQuery函数?

时间:2014-07-17 20:38:26

标签: javascript jquery html

我想从HTML <body>标记中调用jQuery函数。这是我的HTML:

< body bgcolor="#ffffff" onLoad="???" >

如何在加载页面时调用jQuery函数?我的jQuery函数看起来像这样

jQuery(function($){
    var input_id;
    //code
});

6 个答案:

答案 0 :(得分:10)

您在以下方法(块)中编写的任何代码都将在DOM加载后自动执行。 您无需再次从HTML组件中调用此内容。

 $(document).ready(function() { 

//your code
});

答案 1 :(得分:3)

此主题已在此处介绍过。

您最有可能寻找

$(document).ready(function() { 
    var input_id;
    //code
})

或者

$(window).load(function($) {
    var input_id;
    //code
});

如果您对这两者之间的区别感到好奇,请参阅该主题的JQuery documentation

另请注意,<body onload="">,您似乎正在尝试使用is generally not compatible与上述JQuery。

答案 2 :(得分:2)

HTML:你走在正确的轨道上,但你不必将JS放在body标签中。请参阅以下JS选项:

<body bgcolor="#ffffff">

JS

$(window).load(function($) {
    functionA(arg1, arg2, arg3);
});

一旦functionA()包含图形已完全加载,这将启动DOM

OR

$(document).ready(function($) {
    functionA(arg1, arg2, arg3);
});

一旦加载functionA()并且在任何图形加载完成之前,这将触发DOM

答案 3 :(得分:2)

$(function() {
    // code
});

这是document.ready()的简写,所以在执行之前它会等待主体完成加载。

答案 4 :(得分:0)

从Jquery 3开始,折旧以下语法:

document.ready(function(){
   //code
});

Jquery 3中推荐的替代方法是使用以下语法(在以前的版本中,它只是一种简写语法):

$(function(){
    //code
});

这是官方Jquery解释为什么第一种语法被折旧而不再推荐(https://api.jquery.com/ready/):

  

... [文档]的选择与.ready()方法的行为没有关系,这是低效的,并且可能导致对方法行为的错误假设。

答案 5 :(得分:-1)

document.ready(function($){
  // here you go
})