重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
jQuery给我们提供了强大的js库。我们可以用jQuery脚本向页面添加元素,随着程序进行添加的元素怎么添加事件呢?就需要使用delegate了。 delegate() 方法可以为已有或新添加的页面元素绑定已定义的事件:
如下:
html:
站在用户的角度思考问题,与客户深入沟通,找到仲巴网站设计与仲巴网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名与空间、虚拟主机、企业邮箱。业务覆盖仲巴地区。
123
jquery:
$(function(){
//定义测试函数
function foo(){
alert($(this).text())}
//已有元素
$("div span").on('click',foo)
//点击按钮添加新元素
$("div button").click(function(){
$("div").append("123")
})//给新元素绑定事件 $("div").delegate('span','click',foo) //$("div").undelegate('click') })
这样就可以为添加的新元素绑定事件,并且原有的span元素会弹出两次文本内容,证明delegate也给匹配到的当前的元素绑定了事件。
如果想要消除绑定很简单:
$("div").undelegate('click')
删除由delegate委派绑定的事件,不是通过delegate委派的事件则不会删除。