jQuery使用在UpdataPanel控件中失效

顾陌 发布时间:2015-02-03 分类:.NET 阅读:4600次 5 条评论

之前项目中遇到该类情况,导致UpdataPanel局部刷新后jQuery绑定的事件失效。好在jQuery1.3.2之后出现live函数,支持绑定未来的元素事件。当将来出现了该元素后自动绑定事件到该元素。

jQuery and Javascript

发生原因:由于Updatepanel使网页局部刷新时候,此时刷新的页面元素已经改变,jQuery无法将其绑定。

解决办法:jquery1.3.2之后出现live函数,给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。

支持绑定的事件:click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。 

还不支持 blur, focus, mouseenter, mouseleave, change, submit 

这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。

给元素绑定未来的事件

<script type = "text/javascript">

        $(document).ready(function () {

//获取 属性delay不为false的文本框

            $("input[type='text']:not([delay='false'])").live({

                focus: function () {},

                blur: function () {},

                keyup: function () {}

            });

        });

</script>


关键字词: jQueryUpdataPanel失效

已有5条留言
  • 广志博客
    发布于 2015-02-06 23:38:50  回复该评论
  • jQuery没基础好学吗?只会html,会简单修改php,但是不会写

发表评论:

◎欢迎您的参与讨论。