运行& lt; script>AJAX加载元素

Run <script> on AJAX loaded enement

本文关键字:加载 元素 AJAX script lt 运行      更新时间:2023-09-26

我有一个通过JQUERY.get加载部分内容的页面。

<html>
   <body>
       <div onclick="foo('example.com')">Click here!!!</div>
       <div id="replacePanel"/>
   </body>
</html>

需要加载内容

<div id="replacePanel">
    <div id="moveAccordion" class="grid_12">
        <h3>From</h3>
        <div>
            <p>
                <label class="label">From:</label>
            </p>
        </div>
        <h3>To</h3>
        <div>
            <p style="padding-bottom: 15px;">
                <label class="label">To:</label>
            </p>
        </div>
        <h3>Delta</h3>
        <div>
            <p>
                <label class="label">delta time:</label>
            </p>
        </div>
    </div>
    <script> 
            $('#moveAccordion').accordion();
    </script>
</div>
JQuery AJAX函数:
function foo(url){
    $.get(url, function(response) {
        $('#replacePanel').replaceWith($('#replacePanel',response));
    }
}

它应该加载一个jQuery UI手风琴,但它只加载HTML部分,它不调用创建UI的<script>

你能告诉我如何使用JavaScript来运行那个脚本吗?我认为这可能与一些JavaScript事件有关。

我猜您有一个通过ajax加载内容的事件侦听器附加?如果这个假设是正确的,您应该使用on来添加事件处理程序。如果你有jQuery> 1.7,这是有效的——如果你的版本是旧的,使用live来添加事件处理程序。

见:http://api.jquery.com/on/

不要在您的响应变量中包含您的<script>$('#moveAccordion').accordion();</script>,尝试在您的</body>标签之前转移您的<script> $('#moveAccordion').accordion();</script>