jQuery中的事件委派(代理事件)delegate

发布时间:2020-03-04 14:45:59 作者:田头草
来源:网络 阅读:830

jQuery给我们提供了强大的js库。我们可以用jQuery脚本向页面添加元素,随着程序进行添加的元素怎么添加事件呢?就需要使用delegate了。 delegate() 方法可以为已有或新添加的页面元素绑定已定义的事件:
如下:
html:

<body>
<div>
<span>123</span><button>添加</button>
</div>
</body>

jquery:

$(function(){
//定义测试函数
function foo(){
alert($(this).text())}
//已有元素
$("div span").on('click',foo)
//点击按钮添加新元素
$("div button").click(function(){
$("div").append("<span>123</span>")
})

          //给新元素绑定事件
          $("div").delegate('span','click',foo)
          //$("div").undelegate('click')              
      })

这样就可以为添加的新元素绑定事件,并且原有的span元素会弹出两次文本内容,证明delegate也给匹配到的当前的元素绑定了事件。
如果想要消除绑定很简单:

$("div").undelegate('click')

删除由delegate委派绑定的事件,不是通过delegate委派的事件则不会删除。

推荐阅读:
  1. jquery的事件和事件参数介绍
  2. jQuery事件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

jquery deledate ue

上一篇:关于iptables -m选项以及规则的理解

下一篇:MongoDB根据时间aggregate示例

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》