ManLeo's Blog


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

Jquery中 .bind()、.live()、.delegate()、.on()、区别@(Jquery)

发表于 2016-08-17   |   分类于 JavaScript

Jquery中 .bind()、.live()、.delegate()、.on()、区别@(Jquery)

@(Jquery)

bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数

1
2
3
4
5
6
7
8
$("a").bind("click",function(){alert("ok");});
live(type,[data],fn) 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的
$("a").live("click",function(){alert("ok");});
delegate(selector,[type],[data],fn) 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数
$("#container").delegate("a","click",function(){alert("ok");})
on(events,[selector],[data],fn) 在选择元素上绑定一个或多个事件的事件处理函数

差别:

.bind()是直接绑定在元素上

.live()则是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。

.delegate()则是更精确的小范围使用事件代理,性能优于.live()

.on()则是最新的1.9版本整合了之前的三种方式的新事件绑定机制

NodeJs笔记

发表于 2016-08-17   |   分类于 JavaScript

Node

@(NodeJS)

URL

1
url.parse(urlStr, [parseQueryString], [slashesDenoteHost])

输入URL字符串,返回一个对象
将第二个参数设置true则使用querystring模块来解析URl中的查询字符串部分,默认为false
将第三个参数设置为true来吧诸如//foo/bar这样的URL解析为{host:’foot’,pathname:’bar’}而不是{pathname:’//foo/bar’},默认为false

1
url.format(urlobj)

输入一个URL对象,返回格式化后的URL字符串
说明

  • href的属性会被忽略处理
  • protocol无论是否有末尾的:会同意的处理
    • 这些协议包括http,https,ftp,gopher,file后缀是://(冒号,斜杠,)
    • 所有其他的协议如mailto,xmpp,aim,sftp,foo等会加上后缀:(冒号)
  • auth如果有将会出现
  • hostname如果host属性没被定义,则会使用此属性
  • port如果host属性没被定义,则会使用此属性
  • host优先使用,将会替代hostname和port
  • pathname将会同样处理无论结尾是否有/
  • search将会替代query属性
  • query(object类型;详情看querystring)如果没有search,将会使用此属性
  • search无论前面是否有?,都会同样处理
  • hash无论前面是否有#(锚点),都会同样处理
    1
    url.resolve(from,to)

给定一个基础URL路径,和一个hrefURL路径,合并成URL绝对路径,可以带锚点

1
url.resolve('http://www.baidu.com/','admin/Login')

##QueryString

1
querystring.stringify(obj, [sep], [eq])

序列号一个对象到一个querystring,可以选择是否覆盖默认的分隔符(’&’)和通配符(‘=’)

1
2
3
querystring.stringify({foo:'bar',baz:'qux'},';',':')
//返回字符串
'foo:bar;baz:qux'

1
querystring.parse(str,[sep],[eq],[options])

将一个querystring反序列化为一个对象,可以选择是否覆盖默认的分隔符(‘&’)和通配符(‘=’)
options对象可能包含maxKeys属性(默认1000),用来限制处理过的key的数量,设置0可以去除限制

1
2
3
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }

1
querystring.escape

供querystring.stringify使用的转意函数,在必要的时候可以被重写

1
querystring.unescape

供querystrin.parse使用的反转意函数,在必要时可以被重写

Leo

Leo

生活不易,怎敢轻易怠慢

2 日志
1 分类
2 标签
GitHub
© 2017 Leo
由 Hexo 强力驱动
主题 - NexT.Muse