首页 > 其他分享 >jQuery事件

jQuery事件

时间:2022-10-22 16:22:52浏览次数:65  
标签:jQuery 插件 对象 事件 拷贝 click

一、jQuery事件注册

1、单个事件注册

(1)语法:

element.事件(function(){})

$("div").click(function(){事件处理程序})

(2)其他事件和原生基本一致:

比如mouseover、mouseout、blur、focus、change、keydown、keyup、resize、scroll等。

(一)事件处理 on() 绑定事件

on() 方法在匹配元素上绑定一个或多个事件的事件处理函数。

1、语法:

element.on(events.[selector],fn);

(1)events:一个或多个用空格分隔的事件类型,如"click"或"keydown";

(2)selector:元素的子元素选择器。

2、on() 方法优势1:

可以绑定多个事件,多个处理事件处理程序。

$("div").on({

  mouseover: function() {},

  mouseout:function() {},

  click:function() {}

});

如果事件处理程序相同:

$("div").on("mouseover mouseout",function() {

  $(this).toggleClass("current");

})

2、on() 方法优势2:

可以事件委派操作。事件委派的定义就是,把原来加在子元素身上的事件绑定在父元素身上,就是把事件委派给父元素。

$("ul").on("click","li",function(){   alert(11); });

在此之前有bind(),live(),delegate()等方法来处理事件绑定或者事件委派,最新版本的请用on替代它们。

3、on() 方法优势3:

动态创建的元素,click() 没有办法绑定事件,on() 可以给动态生成的元素绑定事件。

二、jQuery事件处理

(一)事件处理 off() 解绑事件

1、off() 方法可以移除通过 on() 方法添加的事件处理程序。

$("p").off()  // 解绑p元素所有事件处理程序

$("p").off("click")  // 解绑p元素上面的点击事件 后面的 foo是侦听函数名

$("ul").off("click","li")  // 解绑事件委托

2、如果有的事件只想触发一次,可以使用one()来绑定事件。

(二)自动触发事件 trigger()

有些事件希望自动触发,比如轮播图自动播放功能跟点击右侧按钮一致。可以利用定时器自动触发右侧按钮点击事件,不必鼠标点击触发。

1、element.click()  // 第一种简写形式

2、element.trigger("type")  // 第二种自动触发模式

三、jQuery事件对象

1、事件被触发,就会有事件对象的产生。

element.on(events,[selector],function(event) {})

2、阻止默认行为:event.preventDefault() 或者 return false

3、阻止冒泡:event.stopPropagation()

四、jQuery其他方法

(一)jQuery拷贝对象

1、如果想要把某个对象拷贝(合并)给另外一个对象使用,此时可以使用$.extend()方法

2、语法:

$.extend([deep],target,objject1,[objectN]);

(1)deep:如果设为true为深拷贝,默认为false 浅拷贝;

(2)target:要拷贝的目标对象;

(3)object1:待拷贝到第一个对象的对象;

(4)objectN:待拷贝到第N个对象的对象;

(5)浅拷贝是把被拷贝的对象复杂数据类型中的地址拷贝1给目标对象,修改目标对象会影响被拷贝对象;

(6)深拷贝,前面加true,完全克隆(拷贝的对象,而不是地址),修改目标对象不会影响被拷贝对象。

(二)jQuery多库共存

1、问题概述:

jQuery使用$作为标识符,随着jQuery的流行,其他js库也会用$作为标识符,这样一起使用就会引起冲突。

2、客户需求:

需要一个解决方案,让jQuery和其他的js库不存在冲突,可以同时存在,这就叫做多库共存。

3、jQuery解决方案:

(1)把里面的$符号统一改为jQuery,比如jQuery("div");

(2)jQuery变量规定新的名称:$.noConflict()  var xx = $.noConflict();

(三)jQuery插件

jQuery功能比较有限,想要更复杂的特效效果,可以借助于jQuery插件完成。

注意:这些插件也是依赖于jQuery来完成的,所以必须要先引入jQuery文件,因此也称为jQuery插件。

1、jQuery插件常用的网站:

(1)jQuery插件库:http://www.jq22.com/

(2)jQuery之家:http://www.htmleaf.com/

2、jQuery插件使用步骤:

(1)引入相关文件(jQuery文件和插件文件)

(2)复制相关html、css、js(调用插件)。

3、jQuery插件演示:

(1)瀑布流

(2)图片懒加载(图片使用延迟加载可提高网页下载速度,它也能帮忙减轻服务器负载)

●当我们页面滑动到可视区域,再显示图片;

●我们使用jquery插件库 EasyLazyload。注意,此时的js引入文件和js调用必须写到DOM元素(图片)最后面。

(3)全屏滚动(fullpage.js)

gitHub: https//github.com/alvarotrigo/fullPage.js

中文翻译网站:http://www.dowebok.com/demo/2014/77/

 

标签:jQuery,插件,对象,事件,拷贝,click
From: https://www.cnblogs.com/hunanxyz/p/16797035.html

相关文章

  • 【JavaScript】事件的冒泡,委派,绑定和传播
    文章目录​​冒泡事件​​​​特性:​​​​阻止冒泡事件的两种方法​​​​cancelBubble​​​​stopPropagation()​​​​委派事件​​​​特性​​​​获取点击的元素​......
  • vue.js中实现阻止事件冒泡
    当父子元素中都有点击事件的时候,为了让触发子元素中的事件时,不去触发父元素中的事件,可以在子元素事件中添加stop来阻止事件冒泡。 .stop是阻止冒泡行为,不让当前元素的......
  • jquery 节点的删除
    1.remove()2.detach()3.empty()1.remove()remove()方法移除被选元素,包括所有的文本和子节点,以及数据和事件。$(function(){$('ul').remove()})<ulclass="5......
  • HTML 事件之多媒体事件
    多媒体事件(MediaEvents)通过视频(videos),图像(images)或者音频(audio)触发该事件,多应用于HTML媒体元素属性值描述onabortscript当发生中止事件时运行脚本oncanplay......
  • HTML 事件之键盘鼠标事件
    键盘事件(KeyboardEvents)属性值描述onkeydownscript当按下按键时运行脚本onkeypressscript当按下并松开按键时运行脚本onkeyupscript当松开按键时运行脚......
  • 只需三步 带你了解 Vue事件总线(EventBus)
    第一步:直接在项目中的 main.js 初始化 EventBus ://main.jsVue.prototype.$EventBus=newVue()第二步:找到两个页面A和B,A向B发送事件<!--A.vue--><templat......
  • DOM 第一章 获取元素事件
    1.1.WebAPI介绍1.1.1API的概念API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一......
  • jQuery的下载和安装
    1.jQuery下载jQuery是一套兼容多浏览器的javascript脚本库,核心理念是写得更少,使用jQuery将极大的提高编写Javascript代码的效率,帮助开发者节省大量的工作。......
  • 支持99.99%安全事件自动响应,华为云等保合规解决方案更省心
    支持99.99%安全事件自动响应,华为云等保合规解决方案更省心!​随着互联网发展和数字化转型升级,等保2.0也来了。与等保规定,网络运营者不履行本法第二十一条、第二十五条规定的......
  • 微信小程序防止事件冒泡(catchtab的使用)
    使用catchtab,在里层可以避免出现事件冒泡     toDetail(){console.log('1')},toDetail2(){console.log('2')},toDetail3(){......