【发布时间】:2015-01-22 16:16:35
【问题描述】:
我正在使用加载方法向我的“容器”添加内容 [按钮和表格]。
但是,动态内容需要委托,我认为我的代码是错误的,并且不知何故让父母/孩子感到困惑。 当我加载我的页面时,我的“表格”被加载,甚至没有点击 button1。
$(document).ready(function () {
$("#button1").click(loadUserNameTable);
$("#contentbox").on("click", '#table .button2', loadQuestions);
});
function loadUserNameTable() {
$("#contentholder").load("nametable.html");
}
function loadQuestions() {
$("#contentholder").load("questions.html");
}
function loadPasswordChanger() {
$("#contentholder").load("passwordchange.html");
}
</script>
<div id="contentholder">
<button type = "button" id="button1">Begin Password Reset</button>
</div>
//nametable.html
<div class="table">
<table id="table1" style="margin:0 auto">
<tr>
<td>
Enter Username:
</td>
<td>
<input type="text" id="userName" value="" />
</td>
</tr>
<tr>
<td>
</td>
<td>
<button id="button2" style="float: left"> Submit </button>
</td>
</tr>
</table>
</div>
//questions.html
<div class="qs" id="questions" style="margin: 0 auto">
<table style="margin: 0 auto">
<tr>
<td>Question 1: </td>
<td><input type="text" /></td>
</tr>
<tr>
<td>Question 2: </td>
<td><input type="text" /></td>
</tr>
<tr>
<td>
</td>
<td>
<button id="button2" style="float: left"> Submit </button>
</td>
</tr>
</table>
</div>
【问题讨论】:
-
可能是因为你打电话给
loadUserNameTable()?尝试将其替换为loadUserNameTable。 -
另外,
<button>元素的标记无效。它本身不是void element。应该是<button>InnerText</button>。 -
在您提供的代码中,既没有
#contentbox也没有#table,也没有带有 class 的按钮button2只有 idbutton2. -
对不起,我应该包含我的 js 函数。 loadUserNameTable() 是我要调用的函数。
-
@Christopher,我认为您误解了 JCOC611 的评论。从函数调用中删除括号。