Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
看起来javascript没有';在ajax调用之后,您无法识别新元素_Javascript_Php_Jquery_Ajax - Fatal编程技术网

看起来javascript没有';在ajax调用之后,您无法识别新元素

看起来javascript没有';在ajax调用之后,您无法识别新元素,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我得到了一个元素,它根据单击的块加载数据 在向索引中发送变量后,我使用Ajax在索引中加载整个phpfile 例如: 单击块1,$Block(包含字符串:block1)被发送到我的php脚本,我在查询中放置$Block以检索正确的数据。之后,我将结果加载到索引中 这可以正常工作,但所有javascript功能都被破坏了。当我在索引中添加php脚本,而不是使用ajax检索它,而是手动添加单词时(通常是$block),所有javascript都可以正常工作 因此,当加载结果时,javascript似

我得到了一个元素,它根据单击的块加载数据

在向索引中发送变量后,我使用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);
        }
    });

您需要将所有代码放入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);
        }
    });
});

您应该在ajax调用的success回调中执行所有操作。ajax调用之后的所有操作都将在ajax调用完成之前执行。这是因为Javascript不是异步的。如果您想在ajax完成加载后执行操作,请将该逻辑放入一个函数中,并从ajax调用中的
success
方法调用该函数。除此之外,
If(clicked!=true)
永远不会hit@binariedMe/Randy你能举个例子吗?我的Ajax不是很好。@Rorymcrossan是的,我知道我还在努力。