顾陌 发布时间:2015-02-03 分类:.NET 阅读:5365次 5 条评论
之前项目中遇到该类情况,导致UpdataPanel局部刷新后jQuery绑定的事件失效。好在jQuery1.3.2之后出现live函数,支持绑定未来的元素事件。当将来出现了该元素后自动绑定事件到该元素。
发生原因:由于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失效
发布于 2015-02-06 23:38:50 回复该评论
发布于 2015-02-07 13:49:09 回复该评论
发布于 2015-02-04 11:59:57 回复该评论
发布于 2015-02-05 22:10:15 回复该评论
发布于 2014-08-06 09:21:04 回复该评论
发表评论:
◎欢迎您的参与讨论。