博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
移动端,ajax 动态加载的元素,为动态添加的一系列同个类名的元素添加点击事件...
阅读量:7170 次
发布时间:2019-06-29

本文共 759 字,大约阅读时间需要 2 分钟。

背景:一个列表页,有一系列同类名的元素,需要为每一个动态添加的列表项添加事件;

 

点击选择下图中不同的文档类型,再通过 ajax 动态加载不同的文档。

 

 

 

 

使用过的方法:

1、通知 jquery 的 $(selector).on('click',function(){}) 在动态添加元素的后一步执行,此段代码是在 ajax 内部,如下:

$(".task-doc-list").append(tempStr);$("body").on("click", ".task-doc-list .task-doc-operation", setClickEvent);

 .task-doc-list 是静态存在的元素;动态添加事件的元素是 “.task-doc-operation"

使用这种方法,可以添加事件,也能正常执行,但存在2个问题:

1、初次打开页面时为正常,若是通过上面的菜单选项,选择不同的文档类型后,此时,事件便不能添加成功了,问题暂不明白。

2、所加载的文档是有分页,在多页的情况下时,当加载下一页后,事件会被再次添加,导致事件会根据加载分页次数添加多次事件。

故不能使用此方法。

 

2、在 ajax 外部,通过下述方法不仅解决方法1的问题,且能正常添加事件,事件也仅添加、执行一次。

$(".task-doc-list").on("tap", ".task-doc-operation", function(){	mui.alert("待开发...", "提示");});

 此方法重点是将 事件名 'click' 更换为 'tap' ,如果此法放在 ajax 内部,依然会存在问题。此法为何成功,原因暂不明。

 

转载于:https://www.cnblogs.com/JaneBlog/p/9869968.html

你可能感兴趣的文章
第二讲、实例变量可见度、方法
查看>>
zabbix监控基础知识
查看>>
mysql四:数据操作
查看>>
Div的定位
查看>>
Activity ca.ct.activity.OBaccaratActivity has leak
查看>>
nginx+tomcat+resin+jdk一键自动化安装脚本(1--父shell安装脚本)
查看>>
strspn
查看>>
Rancher如何对接Ceph-RBD块存储
查看>>
3DTouch学习笔记
查看>>
Linux下 vi 操作Found a swap file by the name
查看>>
filebeat 插件开发
查看>>
网络基础
查看>>
技术加油站:5月19日,技术大佬等你来撩
查看>>
supervisor配置详解(转)
查看>>
Confluence 6 Microsoft SQL Server 设置准备
查看>>
Nginx.conf配置文件
查看>>
EI检索期刊JA检索与CA检索有什么区别?
查看>>
人脸识别技术探讨:1:1,1:小N/大N,大姿态识别,活体识别
查看>>
面向对象程序设计
查看>>
非主从同步 mysql master slave pt-slave-delay
查看>>