我有一个 UpdatePanel,我用它来替换页面内的内容。在 UpdatePanel 之外,我有一些 jQuery 使用该on()
函数来分配一些按钮点击。据我了解,新的 jQuery.on() 语法旨在替换事件处理程序和旧live()
功能。该live()
函数应该监视页面的更改并将事件附加到添加到页面的任何元素,但是on()
在我的测试页面中的函数不会发生这种情况。如果我在 UpdatePanel 更改后打开控制台并运行相同的功能,则事件处理程序可以正常工作。
这是我有 javascript 明智的:
$(function () {
$('.results').on('click', function () {
$(this).children('.explination').slideToggle();
});
});
UpdatePanel 是一个简单的 UpdatePanel,其中包含一个 MultiView。
我知道我可以使用 Microsoft AjaxPageRequestManager
来处理这个问题,但如果事件像我相信的那样绑定,它似乎应该是不必要的。我现在将使用它,但我很好奇我是否做错了,或者 jQuery 和 ASP.Net 是否不能一起工作。
我的一个理论是,无论出于何种原因,UpdatePanel 都无法触发 jQuery 用来捕获更改并再次触发 on 事件的 DOM 更新触发器。