jQuery$(文档).就绪和UpdatePanels?

jQuery$(文档).就绪和UpdatePanels?

我使用jQuery来连接UpdatePanel中元素的鼠标覆盖效果。这些事件被捆绑在一起$(document).ready..例如:

$(function() {    
    $('div._Foo').bind("mouseover", function(e) {
        // Do something exciting
    });    });

当然,这在第一次加载页面时工作得很好,但是当UpdatePanel执行部分页面更新时,它就不会运行,而mouseover效果在UpdatePanel中不再起作用。

在jQuery中,不仅在第一个页面加载时,而且每次UpdatePanel触发部分页面更新时,推荐的连接方法是什么?我是否应该使用ASP.NETAjax生命周期而不是$(document).ready?


交互式爱情
浏览 436回答 3
3回答

慕标琳琳

<script&nbsp;type="text/javascript"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;BindEvents()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(".tr-base").mouseover(function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(this).toggleClass("trHover"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}).mouseout(function()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(this).removeClass("trHover"); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</script>即将更新的区域。<asp:UpdatePanel... <ContentTemplate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;type="text/javascript"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sys.Application.add_load(BindEvents); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</script> &nbsp;*//&nbsp;Staff*</ContentTemplate> &nbsp;&nbsp;&nbsp;&nbsp;</asp:UpdatePanel>

慕姐4208626

在UpdatePanel中使用jQuery的用户控件这并不是对这个问题的直接回答,但我把这个解决方案放在一起,阅读了我在这里找到的答案,我想可能有人会觉得它有用。我试图在用户控件中使用jQuery TextArea限制器。这很棘手,因为用户控件在UpdatePanel中运行,并且在回调中失去了绑定。如果这只是一页,这里的答案将直接应用。但是,用户控件不能直接访问Head标记,也不能像某些答案所假设的那样直接访问UpdatePanel。最后,我将这个脚本块放在用户控件的标记顶部。对于初始绑定,它使用$(文档).ready,然后从那里使用prm.add_endRequest:<script&nbsp;type="text/javascript"> &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;BindControlEvents()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//jQuery&nbsp;is&nbsp;wrapped&nbsp;in&nbsp;BindEvents&nbsp;function&nbsp;so&nbsp;it&nbsp;can&nbsp;be&nbsp;re-bound&nbsp;after&nbsp;each&nbsp;callback. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Your&nbsp;code&nbsp;would&nbsp;replace&nbsp;the&nbsp;following&nbsp;line: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$('#<%=&nbsp;TextProtocolDrugInstructions.ClientID&nbsp;%>').limit('100',&nbsp;'#charsLeft_Instructions');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;//Initial&nbsp;bind &nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function&nbsp;()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BindControlEvents(); &nbsp;&nbsp;&nbsp;&nbsp;}); &nbsp;&nbsp;&nbsp;&nbsp;//Re-bind&nbsp;for&nbsp;callbacks &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;prm&nbsp;=&nbsp;Sys.WebForms.PageRequestManager.getInstance();&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;prm.add_endRequest(function()&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BindControlEvents(); &nbsp;&nbsp;&nbsp;&nbsp;});&nbsp;</script>所以.。只是觉得有人可能想知道这个有用。
打开App,查看更多内容
随时随地看视频慕课网APP