当内容加载ajax时,Document.ready没有触发

时间:2013-07-27 07:35:27

标签: php jquery ajax drag-and-drop document-ready

我正在尝试实现一个拖放模块,我在服务器Display.php,t2.php和update.php上传了3个文件:

t2.php与http://www.script.iblogger.org/相同,这里的拖放工作完全正常,但是当我通过ajax在display.php(http://www.script.iblogger.org/display.php)中加载t2.php的内容时,调用文档。准备好的功能不会发射,任何帮助都将受到极大的赞赏。 先感谢您! 编辑:我该如何修改?

show.php中的AJAX CALL功能

    function showSubjects(str)
    {
    if (str=="")
      {
      document.getElementById("teacher-row").innerHTML="";
      return;
      } 
    if (window.XMLHttpRequest)
      {
      xmlhttp=new XMLHttpRequest();
      }
    else
      {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("teacher-row").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","t2.php?s="+str,true);
    xmlhttp.send();

    }

t2.php中的文档就绪功能(因为文档准备好不能通过ajax调用工作)

    $(document).ready(function(){...});

2 个答案:

答案 0 :(得分:2)

当ajax加载内容时,document.ready不会触发,您需要使用successcompletedone等事件。您可以阅读有关ajax事件here的更多信息。

的document.ready

  

JavaScript提供了在页面执行时执行代码的加载事件   渲染后,直到所有资产如此事件才会触发此事件   图像已被完全接收。在大多数情况下,脚本可以   一旦DOM层次结构完全构建就运行。该   传递给.ready()的处理程序保证在DOM之后执行   准备好了,所以这通常是附加所有其他活动的最佳地点   处理程序和运行其他jQuery代码。使用依赖的脚本时   CSS样式属性的值,引用很重要   外部样式表或嵌入样式元素之前引用   脚本,reference

答案 1 :(得分:1)

这个问题没什么错,document.ready在页面加载时会激活。

所以解决这个问题,当ajax请求响应时执行你的操作:

  

成功:功能(响应){您的代码在这里......}