【jquery常见事件】Jquery常见事件应用汇总【附应用场景】

news/2024/10/17 20:34:37/

写在前面】前端时间也去试了个水参加了一下网管的考试,上午感觉还不错,下午就有点懵了,上周也没有更新我的博客了,今天我们就针对jquery事件领域做一个汇总介绍吧,主要介绍jquery的点击事件、鼠标事件、派发事件、阻止冒泡事件、绑定与解绑事件及自定义事件。
涉及知识点:jquery双击事件、单击事件、jquery派发事件、阻止冒泡、绑定与解绑事件、jquery鼠标移动事件等。

皇榜】支持博主的可以一睹皇榜哟,等您上榜!

目录

  • 1、jquery点击事件与双击事件
  • 2、Jquery绑定与解绑事件
    • 2.1 Jquery绑定事件应用
    • 2.2 Jquery取消绑定事件应用
  • 3、Jquery触发(派发)事件
  • 4、阻止事件冒泡及默认行为
    • 4.1 为何要阻止冒泡
    • 4.2常用语法
  • 5、jquery自定义事件
    • 5.1定义过程:
    • 5.2 实际应用
  • 6.片尾彩蛋

版权声明:原创于CSDN博主-拄杖盲学轻声码,有疑惑可去留言私信哟!

1、jquery点击事件与双击事件

其实在我们使用jquery的过程中,用到最多的应该是点击事件了,一般比如说我们点击按钮将数据进行提交(保存)的时候,就会经常用到这个,当然也可以在div中用onclick()事件和ondbclick()事件,效果一样。
Jquery点击事件应用:
语法:

$("#connect").click(function(){//下面填写点击后的流程
})

Jquery双击事件应用:
语法:

$("#connect").dbclick(function(){//下面填写双击后的流程
})

2、Jquery绑定与解绑事件

针对绑定事件,我个人觉得用的最多的是下拉触发事件,还有一点就是当我们用了解除绑定后再触发绑定事件,可以消除之前的事件没有清除,可能会引发多次执行的效果。

2.1 Jquery绑定事件应用

主要是on和bind两个绑定事件,他们两个实现效果一样,也存在区别bind是针对每个子节点都添加了,但是on的话是针对设置的dom。如果页面元素没有加载前使用bind的话会失效。
语法:

$("#keButton").on("click",function (){//后面填写点击事件后执行逻辑
})
$("#keSelect").on("change",function (){//后面填写下拉改变事件后执行逻辑
})
$("#keButton").bind("click",function (){//后面填写点击事件后执行逻辑
})

复杂用法:

//大括号替代方式
$(".header").on({"mouseout": function () {alert("这是mouseout事件!");},"click": function () {$(".container").slideToggle();}
}, ".btn-test");

2.2 Jquery取消绑定事件应用

和上面一样也存在两个off和unbind,正常使用一般是移除on/bind的事件
如下所示点击按钮后移除段落标签的点击事件。
语法:

$("button").click(function(){//点击按钮后移除P标签所有的点击事件$("p").off("click");
});

常见用法和on一起

$("#keButton").off("click").on("click",function (){//先清除原先的点击事件再添加点击事件
})

当你发现你点击了一次,但是方法体却执行了两次,这个时候你就可以使用这种方法,在执行点击前针对原有dom的点击事件做个取消绑定的操作。

3、Jquery触发(派发)事件

Jquery触发事件我暂且定义为主动触发
语法:

//主动触发点击事件
$("button").trigger("click");

使用场景,修改某个下拉框自动触发按钮点击事件

$("#keSelect").off("change").on("change",function (){//后面填写下拉改变事件后执行查询按钮主动触发$(".searchBtn").trigger("click");
})

其实在jqgrid表格重新刷新的时候我们会经常发现这个事件。

4、阻止事件冒泡及默认行为

4.1 为何要阻止冒泡

我给大家举个例子哈,如下所示的两个节点

<div class="btn1" onclick="load()"><div class="btn2" onclick="change()"></div>
</div>

Btn1上面有点击事件load,btn2有点击事件change();
但是btn1是btn2的父结构,也就意味着btn2点击的时候既有load又有change,但是我本意是点击btn2的时候并不想执行load()。
这个时候我们就要去做一件事情了,那便是阻止事件冒泡,让btn2点击事件里面只有change一个方法,希望这样解释大家能够明白一些。

4.2常用语法

event.preventDefault();//取消默认行为
event.stopPropagation(); //阻止向上级冒泡
event.stopImmediatePropagation(); //阻止之后的所有冒泡事件
return false; //事件里返回false,即取消冒泡也取消默认行为

使用的时候就放在change()方法体里面就可以。

版权声明:原创于CSDN博主-拄杖盲学轻声码,有疑惑可去留言私信哟!

5、jquery自定义事件

5.1定义过程:

A : var myEvt = $.Event(“自定义事件名称”); //创建自定义事件,类似 as3中
类似flex中 var myEvt = new Event(“myEvent”)
B : $(“发出事件对象”).trigger(myEvt); //派发事件,as3中
类似flex中this.dispatcher(myEvt);
C: $(“监听事件对象”).on(“自定义事件名称”, function(event){
//监听事件
//处理event;
console.log(event;)
})

5.2 实际应用

$.extend({myFun:function (event,data) {$(event.target).html(data); //设置数据}
});
// DOM加载后
$(function () {//注册自定义事件$("span").on("myEvent",function (event,data) {$.myFun(event,data); // 调用jQuery自定义方法return false; //等同于event.preventDefault(); + event.stopPropagation();});$("#jisuan").on("click",function () {var val1 = $("input[type='text']").val();//方法一 直接设置/*$("span").html(eval(val));*///方法二 通过自定义事件+自定义jQuery方法var evt = $.Event("myEvent"); //创建自定义事件$("span").trigger(evt,eval(val1)); //派发自定义事件})
})

6.片尾彩蛋

倾心打造佳作,愿解君之惑,如若有幸,盼君上榜助阵,特此敬谢!
皇榜入口点击此处


http://www.ppmy.cn/news/104032.html

相关文章

JDBC与DBCP整合

DBCP:DataBase Connection Pool,数据库连接池负责分配、管理和释放数据库连接&#xff0c;它允许应用程序重复使用一个现有的数据库连接&#xff0c;而不是再重新建立一个&#xff1b;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接…

北京发布Web3.0白皮书!币圈扬言:国际金融格局即将重塑!

如今&#xff0c;虚拟资产已成为香港数字经济与金融创新的“桥头堡”。随着加密新政生效在即&#xff0c;市场暗流涌动&#xff0c;头部交易所争相布局&#xff0c;香港或将迎来新一轮的加密竞争。 多家交易所进军香港 5月28日&#xff0c;欧易&#xff08;OKX&#xff09;完成…

Vivado综合属性系列之十三 FSM_ENCODING

目录 一、前言 二、FSM_ENCODING ​2.1 属性介绍 ​2.2 工程代码 2.3 结果 ​2.4 参考资料 一、前言 ​状态机的实现有很多方式&#xff0c;如auto&#xff0c;one_hot&#xff0c;sequential&#xff0c;如下图中Synthesis中-fsm_extraction的配置项&#xff0c;但此处作用范…

Hadoop优化

1.小文件 影响&#xff1a; 元数据的瓶颈在于文件的数量&#xff0c;无论单个文件的大小 资源大材小用 优化 计算&#xff1a;使用combininputformat提前合并小文件 JVM重用 存储&#xff1a;归档 2.map端 环形缓冲区-区域大小、溢写比列 提前combiner&#xff…

FMT ICF5实时仿真,不止于飞控

基于ICF5的实时仿真 作为FMT的首款自研的国产开源飞控硬件平台&#xff0c;ICF5不仅功能强大&#xff0c;而且高颜值和高性价比获得了用户的一致好评。 FMT ICF5飞控 ICF5购买链接​item.taobao.com/item.htm?id705459383848&ali_refida3_430620_1006:1123834906:N:O3mc…

msvcr90.dll丢失的解决方法

在使用计算机的过程中&#xff0c;我们时常会遇到一些问题&#xff0c;比如应用程序无法正常启动&#xff0c;提示msvcr90.dll文件丢失&#xff0c;这个问题困扰了许多计算机用户。那么&#xff0c;怎么才能解决这个问题呢&#xff1f; 首先&#xff0c;让我们先了解一下msvcr…

Vue.js开发必备插件大曝光:Clipboard.js, Vue-Lazyload等库介绍

部分数据来源&#xff1a;ChatGPT 1、Lodash Lodash 是一个 JavaScript 实用工具库&#xff0c;提供了很多常用函数的封装&#xff0c;例如对象处理、数组处理、字符串处理等。Lodash 可以在浏览器中直接使用&#xff0c;也可以使用 npm 安装后在 Node.js 中使用。 // 安装方…

Spring MVC 深度解析与应用实践

文章目录 1. 引言1.1 Spring MVC 概述1.2 Spring MVC 在 MVC 架构中的位置 2. Spring MVC 的工作流程2.1 DispatcherServlet (前端控制器)2.2 HandlerMapping (处理器映射器)2.3 Handler (处理器)2.4 ModelAndView2.5 ViewResolver (视图解析器) 3. Spring MVC 基础应用3.1 环境…