jquery动态创建元素响应事件

项目中使用jquery(js)创建元素之后, 会导致正常的取值无法取到. 所以, 要使用另外的一个机制来完成.

页面中包含多个 a 元素,其 href 都包含前导字符 # ,利用 jQuery 定义了 click 事件的处理函数,工作正常。

$('a[href^="#"]').click( function () {

alert(this.hash);

});

上面是正常的情况下, 如果不是jquery创建的事件没有任何问题, 如果是页面JQuery创建的将事件无法响应. 解决的办法为:

$(document).on('click', 'a[href^="#"]', function () {

alert(this.hash);

});

这里是使用的on, 在jquery低版本的时候,也有使用live或者是bind的. 几年前都知道这个事情, 一直没有整理, 现在就发到博客上, 如果有什么问题, 可以留言反馈.

如有帮助, 可以支持一下
分享到:

发表评论

昵称

沙发空缺中,还不快抢~