引用动态加载的元素

时间:2018-02-12 01:06:51

标签: javascript jquery html css

我根据选择的菜单项添加网页的整个中心部分。中心部分添加如

       $.get("biosketchStart_Select.html", function (data) {
                        $("#custom_data_container").html(data);
        });

有不同的html页面以相同的方式添加。添加页面后,是否可以在输入中添加文本或从主页面向表中添加行?通常:

       $('#bioTable').append('<tr id="bio-modal-' + obj.RecID + '"><td width="15%">Created</td><td width="15%">Last Update</td><td class="n" width="25%">' + obj.BiosketchName + '</td><td width="25%">' + obj.Category + '</td><td width="1%"></td><td><span class="underline"><a href="#/" onclick = "deleteBio(\'' + obj.BiosketchName + '\',' + obj.RecID  + ')" >Delete</a></span><span class="word-spacing"><span class="underline"><a href="#/" onclick = "editBio(\'' + obj.RecID  + '\')">Edit</a></span></span></td></tr>');

只要从相同的代码段调用,就会向bioTable添加一行。

bioTable是在正在添加的html页面上创建的,但是需要根据最终用户输入从主页面添加行。这可能还是我需要创建一个事件委派?我可以使用事件委派流程在添加的html页面上调用普通的javaScript函数吗?

我查看了Event binding on dynamically created elements?但它非常接近,但我没有在添加的html页面上触发任何事件。

$('Document').on(eventName????, '#bioTable', function() {});

我理解使用上面的代码行,但我没有事件。它需要根据主页面的值显示添加的行并自动运行。

1 个答案:

答案 0 :(得分:0)

您可以按照您尝试的方式引用动态加载的内容,是否尝试过并让它失败?

JQuery语句中的选择器在调用时执行。只要在您调用#bioTable函数时出现.append,它就会成功。尝试将.click.on之类的内容绑定到该元素之前将无法正常工作。请参阅以下示例:
https://jsfiddle.net/t6tz95dc/