基本上,
我尝试做的是有一个按钮,当您点击时,会加载另一个.html表单 它有一个按钮到下一个.html页面,依此类推......
第一部分可以工作,而且,对于要加载的表单,当加载下一个表单时,jquery对按钮不起作用。例如:
index1.html:
<button id="LoadForm" value="form1.html">Load the form</button>
$(document).ready(function() {
function foo(x) {
$('.content').load(x);
}
$('#LoadForm').click(function() {
var ele = $(this).attr("value");
$(this).hide();
form(ele);
});
});
在form1.html中:
<button id="LoadForm" value="index.html">Go to form2..</button>
我在哪里错了?
答案 0 :(得分:1)
1)您在同一页面上无法重复ID,因此.content
必须包含原始的#LoadForm
按钮(我认为是这样)并且< / p>
2)您需要为动态添加的元素使用委托事件处理程序:
$(document).ready(function() {
function foo(x) {
$('.content').load(x);
}
$(document).on('click', '#LoadForm', function() {
var ele = $(this).attr("value");
$(this).hide();
form(ele); // This should be foo in your example :)
});
});
这可以通过监听冒泡到不变祖先的点击事件来实现(document
是没有更接近的最佳默认值。永远不要使用'body'
作为它有与造型有关的问题)。它然后应用jQuery过滤器。它然后为生成事件的所有选定元素应用提供的函数。
和 3)您的示例中有foo
和 form
。请更正代码:)