jQuery实现为动态添加的元素绑定事件实例分析

前端之家收集整理的这篇文章主要介绍了jQuery实现为动态添加的元素绑定事件实例分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了jQuery实现为动态添加的元素绑定事件。分享给大家供大家参考,具体如下:

在使用jquery的方式为元素绑定事件时,我经常使用bind或者click,但这只能为页面已经加载好的元素绑定事件。像需要用ajax的方式请求远程数据来动态添加页面元素时,显然以上几种绑定事件的方式是无效的,具体写法如下。

为动态添加的元素绑定事件有以下几种方式:

1. delegate():向匹配元素的当前或未来的子元素附加一个或多个事件处理器

目前大多数jquery版本都可用,不过我一般不用它。

看出它们的不同了吗,第二种写法是错误的,记住一定要把事件写在元素的后面。

2. live():为当前或未来的匹配元素添加一个或多个事件处理器

jquery1.8版本以前推荐使用该方法;jquery1.8版本之后就不建议使用了,我试了下,也是无效的,所以高版本的jquery推荐使用on()方法绑定事件。

3. on():适用于当前及未来的元素(比如由脚本创建的新元素)

试验了下,大多数版本的jquery都是支持这个方法的,也是我比较喜欢使用的方法

添加的元素放到on()方法里面才行。 $("#searchMoveVideoResult ul li").on("click","5px solid #000"); });

4.onclick事件:动态添加数据时,就为元素绑定onclick事件

Box/movie/video",data:{"q":$("#moveVideo").val(),"key":"346f79df993776748b242236464d565d"},dataType:"JSONP",success:function(data){ console.log(data); if(data.error_code=="0"){ var result=data.result; console.log(result); var html=result.title+"
"+result.tag+"
"+result.act+"
"+result.year+"
" +result.area+"
"+result.dir+"
"+result.desc; html+="

"; html+='
    '+act_s[i].name+''; } html+='
' $("#searchMoveVideoResult").html(html); }else{ $("#searchMoveVideoResult").html(data.reason); } } }); }

更多关于jQuery相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《

希望本文所述对大家jQuery程序设计有所帮助。

原文链接:https://www.f2er.com/jquery/30355.html

猜你在找的jQuery相关文章