网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

jquery动态生成元素怎么绑定事件

今天小编给大家分享一下jquery动态生成元素怎么绑定事件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出新北免费做网站回馈大家。

项目里有个需求,需要动态添加dom元素(button),并可以实现点击事件。这个事件可以用onclick属性添加在元素里,也可以通过js查找dom元素注册点击事件,本着表现与业务分离的原则,我用js注册元素的点击事件。

$(row).find("td:last-child").append(`

`

);

$(index + "sbutton").click(function(){

       sendEvent(data);

});

但是跑起来后,这个事件是没有用的,原因是什么呢?

因为这是动态添加的元素,在代码执行到注册事件这一步时,添加的dom元素还没有在界面渲染完成,这时,注册事件是无效的。

如何平衡这个矛盾,即要用js注册实现表现与业务分离,又要实现元素的事件注册?

下面就是解决方案:

$(document).on('click', "#" + index + "sbutton", function () {

sendEvent(data);

});

on() 和 click() 二者在绑定静态控件时没有区别,但是如果面对动态产生的控件,只有 on() 能成功的绑定到动态控件中,on其实整合了delegate的委托功能,可以实现这种委托绑定事件。

以上就是“jquery动态生成元素怎么绑定事件”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注创新互联行业资讯频道。


网页标题:jquery动态生成元素怎么绑定事件
网页路径:http://bjjierui.cn/article/jshcid.html

其他资讯