看起来javascript没有';在ajax调用之后,您无法识别新元素
我得到了一个元素,它根据单击的块加载数据 在向索引中发送变量后,我使用Ajax在索引中加载整个phpfile 例如: 单击块1,$Block(包含字符串:block1)被发送到我的php脚本,我在查询中放置$Block以检索正确的数据。之后,我将结果加载到索引中 这可以正常工作,但所有javascript功能都被破坏了。当我在索引中添加php脚本,而不是使用ajax检索它,而是手动添加单词时(通常是$block),所有javascript都可以正常工作 因此,当加载结果时,javascript似乎已经完成或无法识别它。我怎样才能解决这个问题 我检索代码的位置:看起来javascript没有';在ajax调用之后,您无法识别新元素,javascript,php,jquery,ajax,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);
}
});
您需要将所有代码放入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是的,我知道我还在努力。