当前位置: 首页 > 面试题库 >

jQuery单击功能在ajax调用后不起作用?

阳俊德
2023-03-14
问题内容

jQuery click函数在这里工作正常

<div id="LangTable"><a class="deletelanguage">delete</a></div>

$('.deletelanguage').click(function(){
    alert("success");
});

但是如果我<a>通过ajax 设置一些功能,将$('.deletelanguage').click无法正常工作。

例如

function CreateRow(jdata) { 
    $('#LangTable').append('<a class="deletelanguage">delete</a>');
}

$.ajax({        
    url: "/jobseeker/profile/",
    success: CreateRow
});

现在$('.deletelanguage').click,最后一个<a>不起作用。

jsfiddle示例:http :
//jsfiddle.net/suhailvs/wjqjq/

注意:CSS在这里工作正常。

我想使这些新添加的<a>与jQuery click一起工作。


问题答案:

问题是.click仅适用于页面上已经存在的元素。on如果要连接将来的元素,则必须使用类似的东西

$("#LangTable").on("click",".deletelanguage", function(){
  alert("success");
});


 类似资料:
  • 问题内容: 我想知道为什么$(this)在jQuery ajax调用后不起作用。 我的代码是这样的。 为什么在ajax调用之后,$(this)在这种情况下不起作用?如果我在ajax之前使用它会起作用,但之后没有效果。 问题答案: 在jQuery ajax回调中,“ this”是对ajax请求中使用的选项的引用。它不是对DOM元素的引用。 您需要首先捕获“外部” $(this) :

  • 问题内容: 我已经阅读了一些有关我的问题的信息,但仍然没有得到正确的答案。我尝试了.on()方法仍然无法正常工作。我正在使用Laravel。 JS 加载页面后,我想要的所有东西都可以正常工作,但是当我使用replaceWith()方法更新元素,然后onclick无法正常工作时。 我检查了更新的html和属性,所有这些都在正确的位置。 问题答案: 您需要使用事件委托:- 因此更改::- 至::- 所

  • 问题内容: 我有这个功能: 我的页面使用最喜欢的按钮加载内容,但是在Ajax调用并生成其他新内容后,单击新内容的按钮时该功能不起作用。有什么不对吗? 问题答案: 那是因为您正在使用动态内容。 您需要将点击调用更改为委托方法,例如 要么

  • 问题内容: 我制作了一个Jquery函数,该函数(目前)会动态调用该函数,并显示警告。与Firefox,铬:它的作品!当我尝试IE7(第一次)时,它失败了。如果我重新加载页面(F5)并重试,则可以!o_O 我终于明白为什么会这样。在我的旧网站中,我使用了jquery-1.3.2.min.js库。在此我使用jquery-1.4.2.js,实际上它不起作用。那么这是什么一回事?这个新版本中有错误吗?

  • 问题内容: 我加载表单并通过AJAX从PHP文件中动态填充选择。在实现动态的AJAX填充选择之前,我的change函数起作用(当用户选择“ other”时,它仅显示另一个输入)。现在,更改功能不起作用。 我知道ready函数正在触发,因为jStepper函数正在运行。我已经在ready函数的内部和外部使用change函数进行了尝试。我感觉在AJAX获取完成之前加载了change函数,但这真的重要吗

  • 问题内容: 我正在尝试通过AJAX提交表单,而不是使用常规的POST提交。HTML只是一个标准格式,我的jQuery代码如下: (基于此答案) 我从Submit函数返回false,但是表单仍在提交,我不知道为什么。没有收到任何Firebug错误。 问题答案: 如果html设置正确,则您的代码可以正常工作。这是我的测试html(使用php),因此您可以将其与自己的进行比较。