0

好的,我已经绞尽脑汁想弄清楚为什么在 IE 和最新版本的 FF 中会发生这种情况。它适用于铬。我只是一个新手开发人员,最近开始使用 jquery。所以我什至不知道我是否正确地解决了这个问题。

它在很大程度上是一种基本形式。jquery ajax post() 然后 get() 来更新页面。从 get 加载页面后,右侧导航/侧边栏可折叠标题会双重触发,操作窗格中的操作链接也是如此。我尝试使用 bind()、live() 和 delegate() 绑定 click 事件。它最初与 bind 一起工作,但我不得不在 ajax 调用之后重新绑定我的所有点击事件,我正试图找到一种解决方法。

我已经设置了我在这里构建的应用程序的静态版本:

http://ishiftdelete.com/pw_mkvi/ajax_wtf.htm

测试:单击右侧导航/侧边栏中操作页面内的编辑页面链接。这将打开一个带有表单和提交按钮的模型对话框。

4

2 回答 2

1

好的,所以我的一个朋友想通了。显然脚本被加载了两次。

坏的:

$.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
});
于 2010-07-15T14:33:56.353 回答
0

我知道你已经解决了这个问题,但是对于未来的发现者,你可以<div>像这样在你的周围添加一个包装器:

<div id="myDivParent">
  <div id="myDiv"></div>
</div>

.load()然后,您可以使用您正在寻找的元素简化您的情况,如下所示:

$("#myDivParent").load(gurl + " #myDiv");

就是这样,如果您传递参数,因为url selector它只会从响应中获取元素:)

于 2010-08-29T22:49:53.867 回答