jquery就绪函数:脚本未检测函数

jquery就绪函数:脚本未检测函数,jquery,function,document-ready,Jquery,Function,Document Ready,有一个带有占位符(普通div)的网页。通过ajax调用,我将和加载到占位符中。脚本包含初始化表单所需的javascript(例如,禁用控件以使表单只读等)。这是我的一段代码;它可以工作,但是被评论的部分不工作。因为脚本引擎找不到对象tristate_DisableControl,这是我通过ajax调用的脚本中的一个函数 $(document).ready(function() { // $('#site_preferences_content div').each(functio

有一个带有占位符(普通div)的网页。通过ajax调用,我将
加载到占位符中。脚本包含初始化表单所需的javascript(例如,禁用控件以使表单只读等)。这是我的一段代码;它可以工作,但是被评论的部分不工作。因为脚本引擎找不到对象tristate_DisableControl,这是我通过ajax调用的脚本中的一个函数

$(document).ready(function() {

    //    $('#site_preferences_content div').each(function() {
    //        if (typeof (window.tristate_DisableControl) == 'undefined') {

    //            if (typeof (window.console) != 'undefnied')
    //                console.log((new Date()).toTimeString() + ' not logable');

    //            pausecomp(1000);

    //        }
    //        else
    //            tristate_DisableControl(this);
    //    }); //end $('#site_prefrences_content div').each()

    setTimeout(function() {
        $('#site_preferences_content div').each(function() { tristate_DisableControl(this); })
    }, 1000);

});  

我想在$(document).ready()执行时,DOM将被正确加载…

我不确定我是否正确理解了您的问题,但是如果AJAX调用返回了
tristate\u DisableControl
声明,那么不,
domrready
不会等到所有AJAX调用都执行(毕竟,它怎么可能知道将进行多少AJAX调用?)


您必须使用AJAX函数的
success
/
complete
回调来确定它何时完成加载。

我不确定我是否正确理解了您的问题,但是如果通过AJAX调用返回了
tristate\u DisableControl
声明,则不,
DOMReady
不会等到所有执行JAX调用(毕竟,它怎么可能知道将进行多少AJAX调用?)


您必须使用AJAX函数的
success
/
complete
回调来确定它何时完成加载。

加载整个文档时会触发Document ready事件,这不包括使用AJAX加载的脚本,因为如果不是这样,如果您的脚本继续进行aja,则可能永远不会触发ready事件x电话


为此,您应该在ajax加载方法上使用回调。

加载整个文档时会触发Document ready事件,这不包括使用ajax加载的脚本,因为如果不是这样,如果脚本不断进行ajax调用,则可能永远不会触发ready事件


为此,您应该对ajax加载方法使用回调。

页面加载完成后,
ready
事件会发生。它不会等待异步ajax调用完成

要在加载额外内容后运行代码,请使用
load
方法的回调。示例:

$('#site_preferences_content').load('content.html', function() {
  $('#site_preferences_content div').each(function() {
    tristate_DisableControl(this);
  }
});

ready
事件在页面加载完成时发生。它不会等待异步AJAX调用完成

要在加载额外内容后运行代码,请使用
load
方法的回调。示例:

$('#site_preferences_content').load('content.html', function() {
  $('#site_preferences_content div').each(function() {
    tristate_DisableControl(this);
  }
});

您在哪里加载脚本?请提供代码和/或标记。我向所有人道歉。问题在于脚本的放置。我通过ajax调用的页面中包含两个脚本;其中一个脚本具有tristate_DisableControl的定义。另一个脚本使用了此功能。问题在于将第二个脚本放置在rst之后是第一个脚本…您在哪里加载脚本?请提供代码和/或标记。我向所有人道歉。问题在于脚本的放置。我通过ajax调用的页面中包含两个脚本;其中一个脚本具有tristate_DisableControl的定义。另一个脚本使用此函数。问题是bec由于将第二个脚本放在第一个脚本之后…tristate\u DisableControl不会由AJAX调用返回。具体来说,我的AJAX调用会得到一个页面,页面上有一行代码,上面写着
-->这包含tristate\u DisableControltristate\u DisableControl的定义。具体来说,我的AJAX调用不会返回tristate\u DisableControl获取一个页面,其中有一行代码表示
-->这包含tristate\u DisableControl的定义