看似javascript在ajax调用后无法识别新元素

时间:2017-03-28 09:50:35

标签: javascript php jquery ajax

我有一个元素,根据单击的块加载数据。

使用Ajax我在发送变量后将整个phpfile加载到索引中。

例如:

单击块1,$ block(包含字符串:block1)被发送到我的php脚本,我在我的查询中放置$ block以检索正确的数据。之后,我将结果加载到索引上。

这应该可行,但所有javascript功能都被破坏了。当我在我的索引中添加php脚本并且不使用ajax检索它但是手动添加单词(通常是$ block)所有javascript工作正常。

所以当加载结果时,javascript已经完成或者没有识别出来。我该如何解决这个问题?

我检索它的代码:

$('.handmouse').on('click', function(e){
        var alias = $(this).attr("data-attribute");
        var clicked = true;
        $.post("ajax/blokken.php", {
          dienstnaam : alias
        }, function(data) {
            $(".tabwrapper").html(data);
        });
        $('.tabwrapper').slideToggle();
        if(clicked != true){
          $('html, body').animate({
              scrollTop: $(".tabwrapper").offset().top
          }, 2000);
        }
    });

1 个答案:

答案 0 :(得分:0)

您需要将所有代码放入ajax调用的success方法中,而不是在ajax调用之后,因为 ajax调用是异步

$('.handmouse').on('click', function(e){
    var alias = $(this).attr("data-attribute");
    var clicked = true;

    $.post("ajax/blokken.php", {
        dienstnaam : alias
    }, function(data) {
        $(".tabwrapper").html(data);
        $('.tabwrapper').slideToggle();
        if(clicked != true){
            $('html, body').animate({
                scrollTop: $(".tabwrapper").offset().top
            }, 2000);
        }
    });
});