zoukankan      html  css  js  c++  java
  • jquery事件绑定函数

    1、bind

    使用语法:

    1  jQueryObject.bind( events [, data ], handler )
    2  jQueryObject.bind( events [, data ] [, isDefaultBubble ] )
    3  jQueryObject.bind( eventsMap )

    ps:执行bind()时,会为当时文档中存在的每个匹配的元素绑定事件,如果之后你向文档中添加了新的与bind()绑定的元素相同的元素,绑定事件不会对其生效。如果你希望绑定事件对未来新添加的元素也生效,请使用on()delegate()live()等事件函数(尽量优先使用靠前的事件函数)。

    2、on

    使用语法:

    1 jQueryObject.on( events [, selector ] [, data ], handler )
    2 jQueryObject.on( eventsMap [, selector ] [, data ] )

      从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数。

      关于参数selector,你可以简单地理解为:如果该参数等于null或被省略,则为当前匹配元素绑定事件;否则就是为当前匹配元素的后代元素中符合selector选择器的元素绑定事件。参数handler中的this指向当前匹配元素的后代元素中触发该事件的DOM元素。如果参数selector等于null或被省略,则this指向当前匹配元素(也就是该元素)。

    ps:如果传递了selector参数,那么on()函数并不是为当前jQuery对象匹配的元素绑定事件处理函数,而是为它们的后代元素中符合选择器selector参数的元素绑定事件处理函数。on()函数并不是直接为这些后代元素挨个绑定事件,而是委托给当前jQuery对象的匹配元素来处理。由于DOM 2级的事件流机制,当后代元素selector触发事件时,该事件会在事件冒泡中传递给其所有的祖辈元素,当事件流传递到当前匹配元素时,jQuery会判断是哪个后代元素触发了事件,如果该元素符合选择器selector,jQuery就会捕获该事件,从而执行绑定的事件处理函数。

    3、delegate

    使用语法:

    jQueryObject.delegate( selector , events [, data ], handler )
    jQueryObject.delegate( selector, eventsMap )

    ps:参数的意义和on方式一样,两者区别是seleter和events顺序不同,delegate的selector是必需的,on的selector是可选的

  • 相关阅读:
    GPS坐标转百度地图并且加载地图示例.支持微信端访问
    关于vs2013 mysql Ef框架中提示版本不兼容问题的解决办法
    CSS3 关于@font-face引用中文字体解决办法
    登录权限,菜单动态加载,动态渲染功能按钮
    vue-router使用next()跳转到指定路径时会无限循环
    三张图较为好理解JavaScript的原型对象与原型链
    深入javascript之原型和原型链
    vue2.0引入现有css文件
    定制简单的404和403页面
    弹框内画echarts图dom元素无法获取的问题
  • 原文地址:https://www.cnblogs.com/chendc/p/5580383.html
Copyright © 2011-2022 走看看