在Ajax调用的html文件上应用脚本

时间:2015-06-25 06:38:50

标签: javascript jquery html ajax

一切都在标题中......

我创建了一个在元素范围上运行的代码:

(function($){
    $('.range').each(function(){
        var range = $(this);
        range.on('input', function(){
            range.next().text($(this).val());
        })
        .next().text(range.val());
    });
})(jQuery);

我希望它也适用于Ajax调用的相同元素。

$('.ajax-global').on('click', function(){
    var param = $(this).attr('id');
    $('.ajax-window').load('./Ajax/' + param + '.php');
});

以下是这些标记的实际示例范围:online example

如果我通过Ajax调用相同的html代码,则javascript不适用于后者。 Code with Ajax(按"欢迎Stackoverflow"按钮)。

如何进行?这是一个我无法解决的困境,有一段时间......

编辑:

我记得一个有用的功能:$ .getScript(),我几乎在那里:

$('.ajax-global').on('click', function(){
    var param = $(this).attr('id');
    // Ouverture dans une fenêtre ajax généraliste :
    $('.ajax-window').load('./Ajax/' + param + '.php', function() {
        $.getScript( "./Scripts/Public/Scripts.js");
    });
});

它有效...除了调用的文件被重新应用于整个文档,而我想仅限于通过Ajax调用的新html元素(为了限制错误)。

1 个答案:

答案 0 :(得分:0)

您对http://scriptura.github.io/Ajax/ajax-alsa.php的请求在没有任何脚本的情况下返回html。它被正确插入DOM。

h2 class="h3">Welcome Stackoverflow !</h2>
<p class="message-info">The following code - called via Ajax - is not functional for the time necessary because the script is not associated. The imput type ranks should be able to display a number in the top right of the slide (<a href="./#index-ranges">see a working example on this page</a>).</p>
<form>
  <fieldset>
    <input type="range" name="a" min="0" max="100" step="1" value="50" class="range"/>
    <output>--</output>
  </fieldset>
</form>

您希望执行哪个脚本?