我有一個UpdatePanel,我用它來替換頁面內的內容。在UpdatePanel之外,我有一些jQuery使用on()
函數來分配一些按鈕點擊。根據我的理解,the new jQuery.on() syntax意味着替換兩個事件處理程序和舊的live()
功能。 live()
函數應該監視對頁面的更改並將事件附加到添加到頁面的任何元素,但這在測試頁面中的on()
函數中不會發生。如果我在UpdatePanel更改後打開控制檯並運行相同的函數,那麼事件處理程序將正常工作。jQuery .on()和UpdatePanels
這裏是我的JavaScript明智:
$(function() {
$('.results').on('click', function() {
$(this).children('.explination').slideToggle();
});
});
在UpdatePanel是一個簡單的UpdatePanel在它多視圖。
我知道我可以使用Microsoft Ajax PageRequestManager
來處理這個問題,但是如果這些事件像我認爲他們應該的那樣綁定,似乎應該是不必要的。我現在將使用它,但我很好奇我是否做得不正確,或者jQuery和ASP.Net是否不在一起工作。
我的一個理論是,無論出於何種原因,UpdatePanel都是一些如何不觸發jQuery正在使用的DOM更新觸發器來捕獲更改並再次觸發on事件。
這是一個很好的解決方案。奇怪的是,它沒有監視所添加的元素,沒有初始對象要添加,但我想它會在處理完一個空集合後停止處理。謝謝! – PCasagrande