jQuery单击函数在这里可以很好地工作
<div id="LangTable"><a class="deletelanguage">delete</a></div>
$('.deletelanguage').click(function(){
alert("success");
});
但是如果我通过ajax设置了一些<a>
,$('.deletelanguage').click
就不能工作。
例如
function CreateRow(jdata) {
$('#LangTable').append('<a class="deletelanguage">delete</a>');
}
$.ajax({
url: "/jobseeker/profile/",
success: CreateRow
});
现在,最后一个<a>
的$('.deletelanguage').click
不工作了。
jsfiddle示例:http://jsfiddle.net/suhailvs/wjqjq/
注意: CSS在这里工作得很好。
我想让这些新附加的<a>
与jQuery点击工作。
发布于 2013-07-18 13:40:02
问题是.click只对页面上已经存在的元素起作用。如果要连接未来的元素,则必须使用类似于on
的内容
$("#LangTable").on("click",".deletelanguage", function(){
alert("success");
});
发布于 2013-07-18 13:38:03
当您使用$('.deletelanguage').click()
注册事件处理程序时,它只将处理程序添加到执行代码时dom中存在的那些元素中。
您需要在这里使用基于委托的事件处理程序
$(document).on('click', '.deletelanguage', function(){
alert("success");
});
发布于 2013-07-18 13:37:34
$('body').delegate('.deletelanguage','click',function(){
alert("success");
});
或
$('body').on('click','.deletelanguage',function(){
alert("success");
});
https://stackoverflow.com/questions/17715274
复制相似问题