2010-07-14 26 views
0

好吧,我已經挫敗了我的大腦和其他人,弄清楚爲什麼會發生在IE和最新版本的FF中。它在鉻中工作。我只是一個新手開發人員,最近開始使用jQuery。所以我甚至不知道我是否正確地做了這件事。jquery double event post /得到

其大部分的基本形式。 jquery ajax post()然後get()更新頁面。一旦頁面從get中加載,右側的導航/側欄可摺疊標題就會雙擊,操作窗格中的動作鏈接也會如此。我已經試過用bind(),live()和delegate()綁定click事件。它最初是通過綁定工作的,但是我必須在ajax調用後重新綁定所有的點擊事件,並且試圖找到解決方法。

我已經設置了應用程序的靜態版本,我要建在這裏:

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

測試:點擊右側導航欄的動作頁面內編輯網頁鏈接/側邊欄。這將打開一個帶有表單和提交按鈕的模型對話框。

回答

1

好的,我的一個朋友弄清楚了這一點。顯然腳本被加載兩次。

BAD:

$.get(gurl, function (data) { 
    var $response = $('<div />').html(data); 
$('#mydiv').html($response.find('#mydiv').html()); //form 
}); 

GOOD:

$.get(gurl, function (data) { 
    var $response = $(data); 
$('#mydiv').html($response.find('#mydiv').html()); //form 
}); 
0

我知道你已經解決了這個,但對於未來的發現者,您可以將您<div>周圍添加的包裝是這樣的:

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

然後你可以簡化你的情況.load()和你是陳的元素納克,像這樣:

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

就是這樣,如果你傳遞參數作爲url selector它會得到從響應:)

該元素