Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 使用jquery添加链接后从链接调用jquery函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery添加链接后从链接调用jquery函数

Javascript 使用jquery添加链接后从链接调用jquery函数,javascript,jquery,html,Javascript,Jquery,Html,我尝试在使用jquery添加jquery函数后调用它。这是我的代码(已在document.ready中): $(“#添加行”)。在(“单击”,函数(){ 警惕(“成功”); //$('#moduletable tr:last')。在('info')之后; 表_长度+=1; }); $(“输入[name='module_type'])。更改(函数(){ var-content=“”; //内容+=''; 内容+=''; 内容+=''; 内容+=''; 内容+=''; 内容+=‘问题标题内容’; 内

我尝试在使用jquery添加jquery函数后调用它。这是我的代码(已在document.ready中):

$(“#添加行”)。在(“单击”,函数(){
警惕(“成功”);
//$('#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>';