ajax传向前台的html代码里又有事件的时候,绑定事件失败解决方法
为动态添加的元素绑定事件有以下几种方式:
1.delegate():向匹配元素的当前或未来的子元素附加一个或多个事件处理器
$(selector).delegate(childSelector,event,data,function)
目前大多数jquery版本都可用,不过我一般不用它。
- $("#searchMoveVideoResult").delegate("ul li","click",function(){
- $(this).css("border","5px solid #000");
- });
- $("#searchMoveVideoResult").delegate("click","ul li",function(){
- $(this).css("border","5px solid #000");
- });
看出它们的不同了吗,第二种写法是错误的,记住一定要把事件写在元素的后面。
2.live():为当前或未来的匹配元素添加一个或多个事件处理器
$(selector).live(event,data,function)
jquery1.8版本以前推荐使用该方法;jquery1.8版本之后就不建议使用了,我试了下,也是无效的,所以高版本的jquery推荐使用on()方法绑定事件。
- $("#searchMoveVideoResult ul li").live("click",function(){
- $(this).css("border","5px solid #000");
- });
3.on():适用于当前及未来的元素(比如由脚本创建的新元素)
$(selector).on(event,childSelector,data,function,map)
试验了下,大多数版本的jquery都是支持这个方法的,也是我比较喜欢使用的方法。
- $("#searchMoveVideoResult").on("click","ul li",function(){
- $(this).css("border","5px solid #000");
- });
- //下面这样写就是错的了,一定要把动态添加的元素放到on()方法里面才行。</span>
- $("#searchMoveVideoResult ul li").on("click",function(){
- $(this).css("border","5px solid #000");
- });
4. onclick事件: 动态添加数据时,就为元素绑定onclick事件
- function searchMoveVideo(){
- $.ajax({
- type:"POST",
- url:"http://op.juhe.cn/onebox/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+"<br>"+result.tag+"<br>"+result.act+"<br>"+result.year+"<br>" +result.area+"<br>"+result.dir+"<br>"+result.desc;
- html+="<br><img src='"+result.cover+"'/><br>";
- html+='<ul style="list-style: none; float: left;">';
- var act_s=result.act_s;
- for(var i=0;i<act_s.length;i++){
- html+='<li style="float: left;" <span style="color:#cc0000;">οnclick="showSource(this);"</span>><a target="_bla nk"><img src="'+act_s[i].image+'"><br>'+act_s[i].name+'</a></li>';
- }
- html+='</ul>'
- $("#searchMoveVideoResult").html(html);
- }else{
- $("#searchMoveVideoResult").html(data.reason);
- }
- }
- }); }
ajax传向前台的html代码里又有事件的时候,绑定事件失败解决方法相关推荐
- 镜像上传到linux失败,Docker push镜像失败解决方法
Docker push镜像失败解决方法 发布时间:2017-03-09 12:07 来源:互联网 当前栏目:web技术类 Docker push镜像失败的问题. 以下是输入push自己的tomcat后 ...
- 设置网页打开默认全屏_微信公众号里的视频不能进行全屏播放的解决方法
我们手机版的微信视频,发现视频播放只能竖屏播放,点击右下角对放大按钮也是如此,网页版也是小窗口播放,而视频这样显示特别影响我们的观看感受, 下面说下微信公众号里的视频不能进行全屏播放的解决方法. 1. ...
- Vmware虚拟机里面的linux系统ping不通宿主机的解决方法(注意同时安装vmware和vbox虚拟机)
Vmware虚拟机里面的linux系统ping不通宿主机的解决方法(注意同时安装vmware和vbox虚拟机) 参考文章: (1)Vmware虚拟机里面的linux系统ping不通宿主机的解决方法(注 ...
- 将App通过XCode上传到AppStore 出现这个错误“An error occurred uploading to the iTunes Store”的解决方法
将App通过XCode上传到AppStore 出现这个错误"An error occurred uploading to the iTunes Store"的解决方法 参考文章: ...
- wps打开文档里的多选框方框变成圆圈的解决方法
复选框正常是方框,现在变成了圆圈,现象如下 解决办法: 下载 Wingdings 2 字体 拷贝在系统字体库里,重新打开就行了. 立即下载 win10在C:\Windows\Fonts 然后重新打开文 ...
- 淘宝付款服务器没有响应,win10应用商店里购买东西时点击付款无反应的解决方法...
现在,有位使用win10系统的用户反映自己在windows10应用商店里购买某款软件且进行付款时,发现点击付款没有任何反应.这该怎么办呢?导致这个问题发生的原因应该是商店缓存文件太多了.下面,win1 ...
- 噬血代码进不了游戏_《噬血代码》联机失败解决方法介绍
<噬血代码>联机失败解决方法介绍 联机失败解决方法介绍 多人连线不稳定的问题许多人由上一次更新后就开始发生,大多人遇到的是连结或是接收时偶有失败的问题,有少部分人是不论如何都无法接收其他人 ...
- 噬血代码进不了游戏_噬血代码联机不了怎么办 噬血代码联机失败解决方法介绍-游侠网...
噬血代码联机不了怎么办?今天我们给大家带来了噬血代码联机失败解决方法介绍,相信大家看完后,就能和小伙伴一起愉快联机了,还不知道解决方法的玩家赶紧来看看吧. 推荐阅读 联机失败解决方法介绍 多人连线不稳 ...
- ajax 请求成功 再执行javascript,jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法...
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...
最新文章
- 全球数百万台 Mac 疑似因 Big Sur 更新险酿计算灾难,苹果官方回应来了!
- 在 Linux 上找出并解决程序错误的主要方法【转】
- 第三十天-ssh key企业批量分发自动化管理案例
- NumPy 数组对象
- linux英文系统+搜狗输入法
- Serverless 究竟是什么?
- EasyCriteria –使用JPA Criteria的简便方法
- shell脚本1——变量 $、read、``
- zbb20171215 bootstrap 日期控件.rar
- 《中国AI算力发展评估报告》发布!北京只能排第二,推理需求猛增
- 使用PowerShell Direct从Hyper-V主机管理VM
- 【语音分析】基于matlab语音短时时域分析【含Matlab源码 559期】
- 【推荐算法论文阅读】STAMP: Short-Term Attention/Memory Priority Model for Session-based Recommendation
- php源码怎样打包APP_HBuilder打包App方法
- html背景图片大小嵌套,div嵌套div 背景图片 不显示的问题
- 美国篮球巨星科比坠机去世 年仅41岁
- 口碑营销:如何让传统行业的电商引发口碑效应并营销
- java画一张笑脸_java swing应用(1):画一个眨眼珠的笑脸
- 用1、2、3、4、5、6、7、8、9这9个数字,填入□ 中使等式□□×□□□ = □□□□ 成立,每个数字恰好只用一次。
- Linux FTDI