微信端开发 如何给未加载的元素添加click事件
来源:互联网 发布:远方光电人工智能 编辑:程序博客网 时间:2024/06/04 20:33
项目手段:项目前端页面使用 ajax请求数据 填充 至html ,并使用dot模板解析
今天问题:由于使用AJAX异步请求本身可能存在延迟,并且使用模板解析html时 都会导致 页面元素 未加载完成,直接使用click事件无法捕捉
相关代码:
1.引用dot.js
2. 添加 <ul class="" id="dataList" page="1"></ul>
3. 页面添加模板解析
<script id="template_focus" type="text/x-dot-template"> <li> <div> <a href="javascript:void(0);"><img/></a> <dl> <dt></dt> <dd> <span></span> <a class="atten_btn attened" id="atten_btn99" targetid="99" type="1">点一下</a> </dd> </dl> </div> </li></script>4. jquery中解析模板 并用ajax填充html
var pagefn = doT.template($('#template_focus').html());
$.get(addr, function (data) { $('#dataList').html((JSON.parse(data)));}); 5.要获取这里的点一下按钮,由于可能在加载时未生成该对象,所以有如下方法来解决 @1:使用on 事件冒泡在父元素上截获事件然后匹配事件源是否符合预先设定的选择器。取代live(过期已删除) 较Live有更好的性能,因为其第二个参数可以选择除document外的元素(包括document)$("#dataList").on('click','a.atten_btn',function(e){ var _this=$(this); if(_this.hasClass("atten_btn")) { if (_this.hasClass("attened")) { alert(1); } else {} }});alert(2);
@2:第一种原理写法,获取事件源$("#dataList").click(function(e){ var _this= $(e.srcElement|| e.target);if(_this.hasClass("atten_btn")) { if (_this.hasClass("attened")) { alert(1); } else {}alert(2);
}});
结束 ~~~~~~~~~~~~~~~~~~~
-------------------------------------------分隔线--------------------------------------------------------------------------------
0 0
- 微信端开发 如何给未加载的元素添加click事件
- 如何给元素绑定click点击事件
- 给某个标签添加click事件,通过jQuery写click方法的方式,如何实现
- 给ajax加载的页面元素添加鼠标事件
- ExtJS中如何给Label添加click事件
- ExtJS中如何给Label添加click事件
- ExtJS中如何给Label添加click事件
- ExtJS中如何给Label添加click事件
- ExtJS中如何给Label添加click事件
- 7.如何给RecyclerView添加Click和LongClick事件
- JQuery给元素绑定click事件多次执行的解决方法
- 如何给动态元素添加事件
- 向ext的form表单元素添加click监听事件
- 关于动态添加的元素不能触发click事件
- ExtJS中给Label添加click事件
- 给动态增加的元素添加事件
- 给动态添加的元素绑定事件
- 如何给元素添加事件监听和取消事件冒泡
- Android日期时间控件的学习笔记
- 文章标题
- 复杂背景彩色人脸检测
- PowerDesigner提示This data item is already used in a primary identifier.的处理
- Ubuntu免sudo使用Docker
- 微信端开发 如何给未加载的元素添加click事件
- Result Maps collection does not contain value for frontpreviewprofitManage.cdata
- LeetCode 217. Contains Duplicate
- Android上从相册选择后剪裁图片
- Android自定义View绘制彩色圆弧
- 开发者所需要知道的 iOS 10 SDK 新特性
- VS2010 学习版序列号
- 编写测试用例
- 2. 机器学习实践之手写数字识别 - 初步特征选择及线性识别