本文主要是介绍updatePanel导致JS失效的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
出处:不记得了,致歉作者 今天给repeater用JS写一个hover事件 < script type ="text/javascript" > $( function (){ $( ' .trhead ' ).click( function (){ $( this ).next( ' .trcontent ' ).find( ' .divcontent ' ).slideToggle( ' fast ' ); }); $( ' .trhead ' ).hover( function (){$( this ).css( " background " , ' rgb(215,215,215) ' );}, function (){$( this ).css( " background " , ' #fff ' );} ); }) </ script > 结果 repeater翻到第二页后,效果失效了,也就是JS没了。 这个时候,就在 protected void AspNetPager3_PageChanged( object sender, EventArgs e) { BindData(); // 绑定数据后重新注册一下JS事件ScriptManager.RegisterClientScriptBlock(up1, GetType(), " aa ", " aa() ", true ); } 而这个aa()函数呢,当然啦,就是: < script type ="text/javascript" > function aa() { $( ' .trhead ' ).click( function (){ $( this ).next( ' .trcontent ' ).find( ' .divcontent ' ).slideToggle( ' fast ' ); }); $( ' .trhead ' ).hover( function (){$( this ).css( " background " , ' rgb(215,215,215) ' );}, function (){$( this ).css( " background " , ' #fff ' );} ); } </ script > 也就是把onload要执行的JS,放到一个方法aa()中,在分页绑定数据后,重新注册一下即可。 同理,当别的控件回传后,也需要重新注册下即可。 Over~ |
这篇关于updatePanel导致JS失效的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!