我在jQuery中有这个:
$(function(){
function updateList(){
//HERE MY FUNCTION
}
});
并且:
$(document).ready(function() {
updateList();
});
他们在同一个文件上。当我加载页面时,我有ReferenceError: updateList is not defined
。
在Firefox和ie9上没问题......
你有什么想法吗?谢谢!
编辑:和奖金问题,此代码不适用于IE< 9:
$.ajax({
type: "GET",
url: "rechercheArtisan_ajax.html?action=metier&IDmetier="+secteur_activite,
dataType: ($.browser.msie) ? "text" : "xml",
success: function( data ) {
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
// Returned data available in object "xml"
if ( $(xml).is("erreur") )
{
alert( "Erreur : " + $(xml).find("erreur").text() );
}
else
{
$("#id_metier").attr("disabled", "");
updateList( "metier" , $(xml).find("list") );
}
}
});
没有错误,没有,只是没有效果。
答案 0 :(得分:3)
updateList
的范围在$(function(){ });
内。它在任何浏览器中都不应该没问题。
为什么你需要2个不同的就绪处理程序?
将文件移到文件外部,如下所示,
<script>
function updateList () { }
$(function () {
updateList();
});
</script>
或者只使用一个就绪处理函数。
<script>
$(function () {
function updateList () { }
//some other code
updateList();
});
</script>