代码之家  ›  专栏  ›  技术社区  ›  Jules Colle

用ajax加载jqueryhtmlbox

  •  1
  • Jules Colle  · 技术社区  · 14 年前

    我使用此代码将htmlbox实例加载到我的页面(此页面还在head部分加载使用htmlbox所需的库):

    <div id="container"></div>
    
    <script language="Javascript" type="text/javascript">
    
     function showEditPnl() {
      var pnl = document.getElementById("container");
    
      if (window.XMLHttpRequest) {
       // code for IE7+, Firefox, Chrome, Opera, Safari
         xmlhttp=new XMLHttpRequest();
      } else {
       // code for IE6, IE5
         xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
       if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        pnl.innerHTML = xmlhttp.responseText;
       }
      };
      xmlhttp.open("GET","ajax_getEditor.html",true);
      xmlhttp.send();
     }
    </script>
    

    以下是ajax_getEditor.html文件:

    <textarea id='ha'></textarea>
    <script language="Javascript" type="text/javascript">
    $("#ha").css("height","100%").css("width","100%").htmlbox({
        toolbars:[["link","unlink","image"]],
     skin:"blue"
    });
    </script>
    

    showEditPnl()

    2 回复  |  直到 14 年前
        1
  •  1
  •   Nick Craver    14 年前

    如注释所述,这是使用 .innerHTML 像你现在这样,这个答案和问题有点不相干。

    你可以用 .load()

    function showEditPnl() {
      $("#container").load("ajax_getEditor.html");
    }
    

    或者,可以在回调中运行脚本,而不是从获取的页面加载脚本,如下所示:

    function showEditPnl() {
      $("#container").load("ajax_getEditor.html", function() {
        $("#ha").css({height:"100%", width: "100%"}).htmlbox({
          toolbars:[["link","unlink","image"]],
          skin:"blue"
        });
      });
    }
    

    在这种情况下,我还将一个对象传递给 .css()

        2
  •  0
  •   Jules Colle    14 年前