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

       $.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/

10-08 08:12