Javascript 使用jquery添加链接后从链接调用jquery函数
我尝试在使用jquery添加jquery函数后调用它。这是我的代码(已在document.ready中):Javascript 使用jquery添加链接后从链接调用jquery函数,javascript,jquery,html,Javascript,Jquery,Html,我尝试在使用jquery添加jquery函数后调用它。这是我的代码(已在document.ready中): $(“#添加行”)。在(“单击”,函数(){ 警惕(“成功”); //$('#moduletable tr:last')。在('info')之后; 表_长度+=1; }); $(“输入[name='module_type'])。更改(函数(){ var-content=“”; //内容+=''; 内容+=''; 内容+=''; 内容+=''; 内容+=''; 内容+=‘问题标题内容’; 内
$(“#添加行”)。在(“单击”,函数(){
警惕(“成功”);
//$('#moduletable tr:last')。在('info')之后;
表_长度+=1;
});
$(“输入[name='module_type'])。更改(函数(){
var-content=“”;
//内容+='';
内容+='
';
内容+='';
内容+='';
内容+='';
内容+=‘问题标题内容’;
内容+='';
内容+='';
内容+='';
$(“#content”).html(content);
});
问题在于
content += '<a href="javascript:void(0);" id="addrow">Add row</a>';
content+='';
如果在加载函数时将其写入html页面,则函数将被调用。如果我在页面加载后添加此链接,则不会 检查
正确的方法是:
$(document).delegate(“#addrow”,“click”,callback) 我不是jQuery专家,但我相信您没有将函数分配给任何元素 从: .on()方法将事件处理程序附加到jQuery对象中当前选定的元素集 调用
$(“#addrow”)。在(…)
上没有与查询匹配的元素,这意味着“当前选定的元素集”为空,即$(“#addrow”)。长度==0
解决方案是在创建元素后设置事件,或者将事件分配给仅在指定元素成为目标时激发的父级。由于您是通过html创建元素的,所以前面的内容不适用
后者将(如所述)改为使用,wich将“现在或将来将处理程序附加到与选择器匹配的[…]元素”。还指出,您可以使用可选参数
.on(event[,selector])
并将侦听器分配给父元素以获得相同的结果。尝试$(document)。在('click','#addrow',您的_回调)
这是jquery的默认行为,它不会为将来插入的元素注册事件处理程序。
content += '<a href="javascript:void(0);" id="addrow">Add row</a>';