我知道这是一个非常常见的问题,但即使是研究,我也无法理解我对document.ready()Javascript函数的调用出了什么问题。
出于某种原因,它会被调用两次,即使我没有执行除警报以外的任何操作。
正如我在标题中所说,我正在使用jQuery,并且发现了一些东西可能来自$(function(){}),所以我也删除了那里的任何执行。没有任何变化,document.ready()仍然被调用两次。
这个问题的根源是什么?如何解决/解决它?
提前致谢!
这是我尝试过的代码:
$(function(){
//$( "#tabs" ).tabs();
});
$(document).ready(function() {
//getTableEntity("organisation", "getentitytable", "#testtable");
//standardDataTable('#tableOrga');
alert("document.ready");
});
编辑:我知道我两次使用相同的功能。将所有内容放在一个函数中并不能解决问题。
答案 0 :(得分:6)
你是否使用模板引擎如smarty或.net或其他东西?可能是jquery有一个双脚本源。然后有副作用。
答案 1 :(得分:3)
您可以使用此代码检查dom是否准备就绪。将代码放在您的javascript源文件中。
// If the DOM is already ready
if ( jQuery.isReady ) {
// Execute the function immediately
fn.call( document, jQuery );
} // ...
答案 2 :(得分:1)
应该使用其中一个...并将您的代码放在以下jquery函数之一
$(function(){
//$( "#tabs" ).tabs();
});
OR
$(document).ready(function() {
//getTableEntity("organisation", "getentitytable", "#testtable");
//standardDataTable('#tableOrga');
alert("document.ready");
});
$(function(){
等于$(document.ready)
请阅读jquery
答案 3 :(得分:0)
我认为这个演示会帮助你
<script>
$(function(){
$('#test1').appendTo('#test2');
console.log(1);
})
</script>
<div id="test1">
<script>
$(function(){
console.log(2);
});
</script>
</div>
<div id="test2"></div>
console.log(2)将触发两次。