详解jQuery的核心函数和事件处理


Posted in jQuery onFebruary 18, 2022

事件

页面载入 

1.ready(fn)当DOM载入就绪可以查询及操纵时绑定一个要执行的函数

$(document).ready(function(){
  // 在这里写你的代码...
});
// 下面是简写
$(function($) {
  // 你可以在这里继续使用$作为别名...
});

2.事件处理 on(events,fn)在选择元素上绑定一个或多个事件的事件处理函数

// 给p标签添加点击事件监听
$("p").on("click", function(){
	alert( $(this).text() );
});
// 第二种写法 等效于上面
$("p").click(function(){
	alert( $(this).text() );
});

3.off(events,[fn])在选择元素上移除一个或多个事件的事件处理函数

// 移除p标签绑定的所有事件监听
$("p").off()
// 移除p标签绑定的click事件监听
$("p").off( "click")

4.bind(events,fn)为每个匹配元素的特定事件绑定事件处理函数

// 移除p标签绑定的所有事件监听
$("p").bind("click", function(){
  alert( $(this).text() );
});
// 同时绑定多个事件类型
$('#foo').bind('mouseenter mouseleave', function() {
  alert();
});

5.unbind(type,fn]])bind()的反向操作,从每一个匹配的元素中删除绑定的事件

// 把所有段落的所有事件取消绑定
$("p").unbind()
// 将段落的click事件取消绑定
$("p").unbind( "click" )

6.one(type,[data],fn)为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数

// 当所有段落被第一次点击的时候,显示所有其文本
$("p").one("click", function(){
  alert( $(this).text() );
});

事件委派 

1.delegate(selector,[type],[data],fn)指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数

<div style="background-color:red">
      <p>这是一个段落。</p>
      <button>请点击这里</button>
  </div>
// 当点击button时,隐藏或显示 p 元素
  $("div").delegate("button", "click", function () {
      $("p").slideToggle();
  });

详解jQuery的核心函数和事件处理

2.undelegate([selector,[type],fn])删除由 delegate() 方法添加的一个或多个事件处理程序

// 从p元素删除由 delegate() 方法添加的所有事件处理器
$("p").undelegate();
// 从p元素删除由 delegate() 方法添加的所有click事件处理器
$("p").undelegate( "click" )

事件切换 

1.hover([over,]out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法

over:鼠标移到元素上要触发的函数

out:鼠标移出元素要触发的函数

// 鼠标悬停的表格加上特定的类
$("td").hover(
  function () {
    $(this).addClass("hover");
  },
  function () {
    $(this).removeClass("hover");
  }
);

事件 

1.blur([[data],fn])当元素失去焦点时触发 blur 事件

// 鼠标悬停的表格加上特定的类
$("td").hover(
  function () {
    $(this).addClass("hover");
  },
  function () {
    $(this).removeClass("hover");
  }
);

2.change([[data],fn])当元素的值发生改变时,会发生 change 事件

// 触发被选元素的 change 事件
$(selector).change();

3.click([[data],fn])触发每一个匹配元素的click事件

// 触发页面内所有段落的点击事件
$("p").click();

4.dblclick([[data],fn])当双击元素时,会发生 dblclick 事件

// 给页面上每个段落的双击事件绑上 "Hello World!" 警告框
$("p").dblclick( function () { alert("Hello World!"); });

5.error([[data],fn])当元素遇到错误(没有正确载入)时,发生 error 事件

// 在服务器端记录JavaScript错误日志:
$(window).error(function(msg, url, line){
  jQuery.post("js_error_log.php", { msg: msg, url: url, line: line });
});

6.focus([[data],fn])当元素获得焦点时,触发 focus 事件

// 当页面加载后将 id 为 'login' 的元素设置焦点:
$(document).ready(function(){
  $("#login").focus();
});

7.focusin([data],fn)当元素获得焦点时,触发 focusin 事件

<p><input type="text" /> <span>focusout fire</span></p>
<p><input type="password" /> <span>focusout fire</span></p>
// 获得焦点后会触发动画
$("p").focusin(function() {
	$(this).find("span").css('display','inline').fadeOut(1000);
});

8.focusout([data],fn)当元素失去焦点时触发 focusout 事件

// 获得焦点后会触发动画
$("p").focusout(function() {
  $(this).find("span").css('display','inline').fadeOut(1000);
});

9.keydown([[data],fn])当键盘或按钮被按下时,发生 keydown 事件

// 在页面内对键盘按键做出回应,可以使用如下代码
$(window).keydown(function(event){
  switch(event.keyCode) {
    // ...
    // 不同的按键可以做不同的事情
    // 不同的浏览器的keycode不同
    // 更多详细信息:     http://unixpapa.com/js/key.html
    // ...
  }
});

10.keypress([[data],fn])当键盘或按钮被按下时,发生 keypress 事件

// 计算在输入域中的按键次数
$("input").keydown(function(){
  $("span").text(i+=1);
});

11.keyup([[data],fn])当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上

// 当按下按键时,改变文本域的颜色
$("input").keyup(function(){
  $("input").css("background-color","#D6D6FF");
});

12.mousedown([[data],fn])当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件

// 当按下鼠标按钮时,隐藏或显示元素
$("button").mousedown(function(){
  $("p").slideToggle();
});

13.mouseenter([[data],fn])当鼠标指针穿过元素时,会发生 mouseenter 事件

// 当鼠标指针进入(穿过)元素时,改变元素的背景色
$("p").mouseenter(function(){
  $("p").css("background-color","yellow");
});

14.mouseleave([[data],fn])当鼠标指针离开元素时,会发生 mouseleave 事件

// 当鼠标指针离开元素时,改变元素的背景色$("p").mouseleave(function(){  $("p").css("background-color","#E9E9E4");});// 当鼠标指针离开元素时,改变元素的背景色
$("p").mouseleave(function(){
  $("p").css("background-color","#E9E9E4");
});

15.mousemove([[data],fn])当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件

事件坐标

  • event.clientX, event.clientY相对于视口的左上角
  • event.pageX,event.pageY 相对于页面的左上角
  • event.offsetX,event.offsetY 相对于事件元素的左上角
// 获得鼠标指针在页面中的位置
$(document).mousemove(function(e){
  $("span").text(e.pageX + ", " + e.pageY);
});

16.mouseout([[data],fn])当鼠标指针从元素上移开时,发生 mouseout 事件

// 当鼠标从元素上移开时,改变元素的背景色:
$("p").mouseout(function(){
  $("p").css("background-color","#E9E9E4");
});

17.mouseover([[data],fn])当鼠标指针位于元素上方时,会发生 mouseover 事件

// 当鼠标指针位于元素上方时时,改变元素的背景色
$("p").mouseover(function(){
  $("p").css("background-color","yellow");
});

18.mouseup([[data],fn])当在元素上放松鼠标按钮时,会发生 mouseup 事件

// 当松开鼠标按钮时,隐藏或显示元素
$("button").mouseup(function(){
  $("p").slideToggle();
});

19.resize([[data],fn])当调整浏览器窗口的大小时,发生 resize 事件

// 改变页面窗口的大小时弹出警告窗
$(window).resize(function(){
  alert("Stop it!");
});

20.scroll([[data],fn])当用户滚动指定的元素时,会发生 scroll 事件

// 当页面滚动条变化时,执行的函数:
$(window).scroll( function() { 
 	 alert("Stop it!");
});

21.select([[data],fn])当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件

// 触发所有input元素的select事件:
$("input").select();

22.submit([[data],fn])当提交表单时,会发生 submit 事件

// 提交本页的第一个表单:
$("form:first").submit();
// 阻止表单提交:
$("form").submit( function () {
  return false;
} );

23.unload([[data],fn])在当用户离开页面时,会发生 unload 事件

点击某个离开页面的链接

在地址栏中键入了新的 URL

使用前进或后退按钮

关闭浏览器

重新加载页面

// 页面卸载的时候弹出一个警告框:
$(window).unload( function () { alert("Bye now!"); } );

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

jQuery 相关文章推荐
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
jquery.pagination.js分页使用教程
Oct 23 jQuery
使用jQuery动态设置单选框的选中效果
Dec 06 jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
jQuery实现的上拉刷新功能组件示例
May 01 jQuery
jquery实现图片放大镜效果
Dec 23 jQuery
jQuery实现广告显示和隐藏动画
jQuery ajax - getScript() 方法和getJSON方法
May 14 #jQuery
jquery插件实现悬浮的菜单
jquery插件实现代码雨特效
Apr 24 #jQuery
jquery插件实现搜索历史
Apr 24 #jQuery
jquery插件实现图片悬浮
jQuery实现影院选座订座效果
You might like
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
php无序树实现方法
2015/07/28 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
JavaScript使用yield模拟多线程的方法
2015/03/19 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
NodeJS测试框架mocha入门教程
2017/03/28 NodeJs
AngularJS表单验证功能
2017/10/19 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
JavaScript实现筛选数组
2021/03/02 Javascript
python中的列表推导浅析
2014/04/26 Python
Python中查看文件名和文件路径
2017/03/31 Python
python处理xml文件的方法小结
2017/05/02 Python
python列表生成式与列表生成器的使用
2018/02/23 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
python 下载文件的多种方法汇总
2020/11/17 Python
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
什么是规则表达式
2012/05/03 面试题
幼儿园见习报告
2014/10/30 职场文书
2015年收银员个人工作总结
2015/04/01 职场文书
信访维稳承诺书
2015/05/04 职场文书