大部分是基本形式。 jquery ajax post()然后get()更新页面。一旦从get加载页面,右侧导航/侧边栏可折叠标题会双击,操作窗格中的操作链接也会加倍。我尝试使用bind(),live()和delegate()绑定click事件。它最初使用bind工作,但是我必须在ajax调用之后重新绑定我的所有点击事件,并且我试图找到解决方法。
我已经设置了我在这里构建的应用程序的静态版本:
http://ishiftdelete.com/pw_mkvi/ajax_wtf.htm
测试:点击右侧导航/侧边栏中操作页面内的编辑页面链接。这将打开一个带有表单和提交按钮的模型对话框。
答案 0 :(得分:1)
好的,我的一个朋友想出来了。显然,脚本被加载了两次。
BAD:
$.get(gurl, function (data) {
var $response = $('<div />').html(data);
$('#mydiv').html($response.find('#mydiv').html()); //form
});
好的:
$.get(gurl, function (data) {
var $response = $(data);
$('#mydiv').html($response.find('#mydiv').html()); //form
});
答案 1 :(得分:0)
我知道你已经解决了这个问题,但是对于未来的发现者,你可以在你的<div>
周围添加一个包装器:
<div id="myDivParent">
<div id="myDiv"></div>
</div>
然后,您可以使用.load()
和您正在寻找的元素来简化您的情况,例如:
$("#myDivParent").load(gurl + " #myDiv");
就是这样,如果你将参数作为url selector
传递,它只会从响应中获取 那个元素:)