zoukankan      html  css  js  c++  java
  • updatePanel导致JS失效的解决办法(转)

    吐槽下,维护别人之前做的项目好蛋疼,整个页面都是用微软的ajax框架。

    今天给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()中,在分页绑定数据后,重新注册一下即可。

    同理,当别的控件回传后,也需要重新注册下即可。

  • 相关阅读:
    HDU-5514 Frogs 容斥
    2019ICPC EC-FINAL H-King 随机
    2019ICPC EC-FINAL E-Flow 贪心
    洛谷P4200 千山鸟飞绝 Splay
    CodeForces 1249F Maximum Weight Subset 树形dp
    HDU-5534 Partial Tree 完全背包优化
    【数论】Lucas定理
    [APIO2009]抢掠计划 解题报告
    tarjan(缩点)
    树状数组总结
  • 原文地址:https://www.cnblogs.com/qixuejia/p/3747197.html
Copyright © 2011-2022 走看看