移动端jq及zepto事件绑定
最近做移动端网页,用到了zepto.js , 其大致用法跟 jquery 差不多,但是在时间绑定的时候被困了好久的坑。
这里说的主要是给未来元素绑定事件。未来元素:这里指的是通过 ajax 请求得到数据以后,再渲染到页面的新的组件或元素。
比如说原始页面是这样的:
<html>
<head>
……
</head>
<body>
<ul class=“ul_wrap”>
<li class=“li_item”>原始内容1</li>
<li class=“li_item”>原始内容2</li>
</ul>
</body>
</html>
然后再通过请求数据,想页面中插入新的li标签及内容:
Js中请求数据成功以后是这样的:
success: function( res ){
var appendObj = $(“.ul_wrap”);
if( res.code == 1 ){
var liLists = res.data;
for( var i=0; i<liLists.length; i++ ){
var new_li_item = “<li class=‘new_li_item’>”+ liLists[i] +“</li>”;
appendObj.html( appendObj.html() + new_li_item );
}
}
}
延迟加载完以后,带有 new_li_item 类的就是上文所说的未来元素,比如说现在要给这些未来元素绑定点击事件,在jq中这样绑定:
$(“.ul_wrap”).delegate(“.new_li_item”, “click”, function(){
// do something
})
在zepto中,以上jq的绑定方法无效,必须这样绑定:
$(“body .ul_wrap”).on(“click”, “.new_li_item”, function(){
// do something
})
这两种用法原理是一样的,但是写法跟参数顺序不一样。
两种用法中,前半部分选择器要指定的元素必须是页面上本来就存在的,比如说 body,.ul_wrap 都是页面上本来就存在的元素,jq 用 delegate 来绑定事件,zepto 用 on 来绑定事件。
移动端jq及zepto事件绑定的更多相关文章
- 移动web app开发必备 - zepto事件问题
问题描述: 项目在祖先元素上绑定了 touchstart,touchmove,touchend事件,用来处理全局性的事件,比如滑动翻页 正常状态下: 用户在子元素上有交互动作时,默认状态下都是会冒泡到 ...
- jQ的select事件和trigger方法的小冲突
方法和事件都不难理解,分开用也都没问题,但是一起用就有些小问题出现. 直接上结论:使用trigger方法触发一个文本类型的 input 元素的select事件时,chrome浏览器会错误的触发三次,f ...
- IOS系统中使用zepto的live事件绑定不了的一个办法
IOS系统中使用zepto的live事件绑定不了的一个办法: 对事件对象添加样式:cursor:pointer
- jQuery - 03. each、prevaAll、nextAll、获取属性、修改属性attr/val/text()、jq.height/width、offset()./position()./scrol Left/Top 、事件绑定bind、delegate、on、事件解绑、事件对象、多库共存
each 方法 $ ( selector).each(function( index,element) { } ); 参数一表示当前元素在所有匹配元素中的索引号 参数二表示当前元素(DOM对象) ...
- JQ动态生成节点绑定事件无效问题
最近做项目的时候遇见了一个问题,通过jq将动态节点绑定到dom节点上,并且为动态节点绑定方法,此方法再次为动态节点添加动态节点,但在刷新之后,动态节点上的方法失效了,过程为:创建动态节点->动态 ...
- 事件委托和JQ事件绑定总结
事件委托: 比喻:事件委托的事例在现实当中比比皆是.比如,有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三个人在公司门口等快递:二是委托给前台MM代为签收.现实当中,我们大都采用委托的方 ...
- jq事件绑定
有些时候我们在页面中会动态的添加一下dom结构,当我们想要给这些结点添加事件时需要在此节点绑定一系列的操作. <a href="#" onclick="addBtn ...
- 移动端和pc端事件绑定方式以及取消浏览器默认样式和取消冒泡
### 两种绑定方式 (DOM0)1.obj.onclick = fn; (DOM2)2. ie:obj.attachEvent(事件名称,事件函数); 1.没有捕获(非标准的ie 标准的ie底下有 ...
- js、jq事件绑定方式总结——以click事件为例
一.JavaScript点击事件绑定方法 1.1 HTML onclick事件属性 <button onclick="clickMe(this)">click me&l ...
随机推荐
- java网页数据抓取实例
在很多行业中,要对行业数据进行分类汇总,及时分析行业数据,对于公司未来的发展,有很好的参照和横向对比.所以,在实际工作,我们可能要遇到数据采集这个概念,数据采集的最终目的就是要获得数据,提取有用的数据 ...
- FileStream常用的属性和方法:
对流进行操作时要引用 using System.IO; 命名空间 FileStream常用的属性和方法: 属性: CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取 CanW ...
- 编写脚本-SQL SERVER 用户权限分配
USE [TXM];GOCREATE USER [WIN-JO\Administrator]FOR LOGIN [WIN-JO\Administrator];GOEXEC sp_addrole ...
- 学习笔记:Rick's RoTs -- Rules of Thumb for MySQL
Table of Contents SELECTs -- do's and don'tsINDEXingENGINE DifferencesOptimizations, and notPARTITIO ...
- python容错
#try: except: else: #为什么叫容错呢,先说说错误,这里说的错误并不是因为马虎或者什么原因在脚本中留下的bug,这个不能容掉,所谓容掉就是略过这个错误,要在测试时候发现并修正,需要容 ...
- C#调用免费天气预报WebService
using System; using System.Collections; using System.Configuration; using System.Data; using System. ...
- 乘风破浪:LeetCode真题_032_Longest Valid Parentheses
乘风破浪:LeetCode真题_032_Longest Valid Parentheses 一.前言 这也是非常有意思的一个题目,我们之前已经遇到过两个这种括号的题目了,基本上都要用到堆栈来解决,这次 ...
- Asp.net core 2.0.1 Razor 的使用学习笔记(二)
ASP.net core 2.0.1 中 asp.net identity 2.0.1 的基本使用(一)—启用用户管理 一.修改和启用默认的用户账户管理和角色管理 在Data目录中添加Applicat ...
- css常见的概念
padding-top:10px;是指容器内的内容距离容器的顶部有10个像素,是包含在容器内的: margin-top:10px;是指容器本身的顶部距离其他容器有10个像素,不包含在容器内: top: ...
- PyQt5--QSlide
# -*- coding:utf-8 -*- ''' Created on Sep 20, 2018 @author: SaShuangYiBing Comment: ''' import sys f ...