我要根据选择的菜单项添加网页的整个中心部分。中间部分的添加方式如下
$.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() {});
我了解使用上面的代码行,但是没有事件。它需要根据主页的值显示添加的行并自动运行。
最佳答案
您可以按照尝试的方式引用动态加载的内容,是否尝试过并且失败了?
JQuery语句中的选择器在调用时执行。只要在调用#bioTable
函数时出现.append
,它将成功。尝试将.click
或.on
之类的元素绑定到该元素之前将无法进行。请参见以下示例:
https://jsfiddle.net/t6tz95dc/