Jquery事件详解

Jquery让基于事件来进行响应变的非常简单,总体来说,事件有许多种,但是它们之间的使用方法都差不多,我们可以套用固定的代码模板来操作事件。而且我主要介绍的也是一些非常常用的事件来做例子。先开看Jquery的代码模板,

基本事件:

一个元素上面绑定一个事件,将按钮的名称变成Myvalue

     $("元素").bind(‘事件名称‘,function(e){

     });
     //例子
     $("#button").bind(‘click‘,function(e){
        $(this).attr(‘value‘,‘MyValue‘);
     });

一个元素绑定多个事件,下面的例子是一个按钮点击一个样式,在点击移除该样式

 1      $("元素").bind({
 2         ‘事件名称‘:function(e){
 3
 4         },
 5         ‘事件名称2‘:function(e){
 6
 7         }
 8      });
 9         var count = 0;
10     $(":button").bind({
11         ‘click‘ : function(e) {
12             count++;
13             if (count % 2 == 0) {
14                 $(this).attr(‘style‘, ‘background:yellow‘);
15             } else {
16                 $(this).removeAttr("style");
17             }
18         }
19     })

对于一些我们常用到的事件和一些常用到的场景,

click事件(一次鼠标点击事件);

select事件(当某个下拉列表被选中之后);

change事件(所选元素的value值发生改变,一般用在<input:type="text,select">);

hover事件(当鼠标移到上面时,鼠标指针发生变化);

focus事件(当聚焦到某个元素时触发的事件,一般用在<input:type="text">的场景);

focusin事件(和Focus的区别是当前元素和子元素任意一个元素获得聚焦后就会触发,而focus只有当前元素才触发);

blur事件(当鼠标失去焦点时触发的时间,一般用户输入一个元素后,自动聚焦到下一个元素);

submit事件(当Form表单提交时触发的事件,一般常用来清空已经输入的内容,多用来实现批量提交,就是输入学生信息或者用户信息时,不用跳转页面);

load事件(最常用的是Documet的Onload事件,一般用在大型资源加载的场景);

ready事件(表示该元素加载完成之后发生的事件);

keydown事件(当一个键被按下去之后产生的事件,一般用来阻止按Enter键重复的提交表单的场景);

冒泡事件和默认事件行为:

概念:冒泡事件是指当子元素和父元素同时绑定同一事件时,当点击子元素会触发子元素的事件和父元素的事件。使得得到无法想要的结果。

对于冒泡事件,Jquery两个函数来处理:

stopPropagation():如果存在父元素和子元素同时绑定同一事件,默认子元素触发时,父元素也会触发,该方法会阻止父元素的事件触发,只停留在子元素的事件当中

stopImmediatePropagation():如果一个子元素同时绑定同一个事件时有多个方法,默认会顺序执行,该方法会阻止顺序执行,防止下面的效果覆盖掉上面的效果。

1       <div id="top">
2           <div id="child1"></div>
3           <div id="child2"></div>
4       </div>

     $("div").css({          ‘width‘:‘auto‘,          ‘height‘:‘200px‘,     });          $("#top").bind(‘click‘,function(){         $(this).css(‘background‘,‘red‘);

     })          $("#child1").bind(‘click‘,function(){        $(this).css(‘background‘,‘red‘);      });

如果在Chlid1区域点击的时候会触发top的click事件,这不是想要的结果,可以通过在child1的函数当中添加stopPropagation元素,那么只有选中的子区域会执行

click事件,父区域就不会执行click事件。

默认事件的概念:  指HTML元素自带的一些事件,如点链接就会跳转页面,点击Submit按钮就会提交等等。

preventDefault():取消默认的事件,

     $("a").bind(‘click‘,function(){
         $(this).preventDefault();
         });

该代码会取消链接的默认行为,产生的效果是,点击超链接之后不会在跳转页面,一般用在取消一些默认的快捷键上面。

时间: 2025-01-10 04:43:33

Jquery事件详解的相关文章

使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 事件详解

在前文<使用 jQuery Mobile 与 HTML5 开发 Web App —— jQuery Mobile 默认配置与事件基础>中,Kayo 对 jQuery Mobile 事件的基础作出了一些说明,建议在阅读本文前首先阅读前文,这里 Kayo 再引用前文的重要内容. “jQuery Mobile 在基于本地事件上,创建了一系列的自定义事件,大部分事件是基于触摸设备的使用情况开发的,当然这些事件对于桌面环境也会有适当的处理,开发者可以使用 bind() 函数绑定到需要的页面对象中. 值得

JavaScript事件详解-zepto的事件实现

zepto的event 可以结合上一篇JavaScript事件详解-原生事件基础(一)综合考虑源码暂且不表,github里还有中文网站都能下到最新版的zepto.整个event模块不长,274行,我们可以看到,整个event模块,事件绑定核心就是on和off,还有一个trigger用来触发,类观察者模式,可以先看看汤姆大叔的深入理解JavaScript系列(32):设计模式之观察者模式,其余皆为实现的处理函数.首先来个demo: $("#btn").on("click&quo

转:jQuery.lazyload详解使用方法

来源:http://www.cnblogs.com/wenbo/archive/2011/07/15/2107579.html jQuery实现图片延迟加载,不知道是否可以节省带宽呢?有人知道吗? 这究竟只是一个视觉特效还是真的能延迟加载减少服务器的请求呢? <script type="text/javascript" src="<?php bloginfo('template_directory');?>/js/jquery.lazyload.js&quo

jQuery回调、递延对象总结(一)jQuery.Callbacks详解

前言: 作为参数传递给另一个函数执行的函数我们称为回调函数,那么该回调又是否是异步的呢,何谓异步,如:作为事件处理器,或作为参数传递给 (setTimeout,setInterval)这样的异步函数,或作为ajax发送请求,应用于请求各种状态的处理,我们可以称为异步回调,jQuery.Callbacks 为我们封装了一个回调对象模块,我们先来看一个应用场景: // 为什么jQuery中的ready事件可以执行多个回调,这得益于我们的jQuery.Deferred递延对象(是基于jQuery.Ca

J2EE学习篇之--JQuery技术详解

前面我们讲解了的J2EE的技术都是服务端的技术,下面我们来看一下前端的一些开发技术,这一篇我们来看一下jQuery技术 简介: jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascript框架.其宗旨是--WRITE LESS,DO MORE,写更少的代码,做更多的事情. 它是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏

jQuery.validator 详解二

前言:上一篇详细的介绍了jQuery.validator( 版本v1.13.0 )的验证规则,这一篇重点讲述它的源码结构,及如何来对元素进行验证,错误消息提示的内部实现 一.插件结构(组织方式) 在讲述如何对元素进行验证前有必要了解它的代码组织方式,请看代码(部分省略) var plugFn = function( $ ) { $.extend($.fn, { // 验证from表单 validate: function( options ) { // ... // 实例化$.validator

jQuery内核详解与实践读书笔记1:原型技术分解2

上一篇已经搭建了一个非常简陋的jQuery框架雏形,如没有阅读搭建过程,请先阅读<jQuery内核详解与实践读书笔记1:原型技术分解1>初始搭建过程.接下来,完成书中介绍的剩下三个步骤: 7. 延续--功能扩展 jQuery框架是通过extend()函数来扩展功能的,extend()函数的功能实现起来也很简单,它只是吧指定对象的方法复制给jQuery对象或jQuery.prototype对象,如下示例代码就为jQuery类和原型定义了一个扩展功能的函数extend(). 1 var $ = j

javascript事件详解笔记

javascript事件详解笔记: 一.事件流 1.事件流: 描述的是页面中接受事件的顺序,有事件冒泡.事件捕获两种. 2.事件冒泡: 由最具体的元素接收,然后逐级向上传播到最不具体的元素的节点(文档). 3.事件捕获: 最不具体的节点先接收事件,而最具体的节点应该是最后接收事件. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>事件</title&

jQuery内核详解与实践读书笔记1:原型技术分解1

一直以来都有研究一下jQuery源代码的想法,但是每次看到jQuery几千行的代码,头就大了,没有一点头绪,也不知道从哪里开始.昨天去图书馆无意间发现了这本<jQuery内核详解和实践>,翻看了一下里面的内容,这正是我寻觅多时剖析jQuery源码的好书. 废话不多说,直入正题吧.第一章介绍了一下jQuery的起步和一些历史故事,没什么重要内容.这里直接进入第二章,jQuery技术解密,从这一章开始就全部是干货了.这一章主要分四部分:jQuery原型技术分解,破解jQuery选择器接口,解析jQ