<!doctype html>

<html lang="us">

<head>

<meta charset="utf-8">

<title> test</title>

<script src="./jquery-1.10.2.js" type="text/javascript"></script>

<script>

function initEvents(){

//注冊多次事件方法初始化

initOnEvent();

initBindEvent();

initClickvent();

initLiveEvent();

//仅仅注冊一个事件方法

oneEventByBindUnBind();

oneEvnetByDieLive();

}

function initOnEvent(){

//为id为onWayToEvent button注冊点击事件

$("#onWayToEvent").on("click",function(){

alert("this is one on event")

});

$("#onWayToEvent").on("click",function(){

alert("this is two on event")

});

$("#onWayToEvent").on("click",function(){

alert("this is three on event")

});

}



function initBindEvent(){

//为id为bindWayToEvent 的button注冊点击事件

$("#bindWayToEvent").bind("click",function(){

alert("this is registry event by bind. one")

});



$("#bindWayToEvent").bind("click",function(){

alert("this is registry event by bind. two")

});



$("#bindWayToEvent").bind("click",function(){

alert("this is registry event by bind. three")

});

}



function initClickvent(){

$("#clickWayToEvent").click(function(){

alert("this is registry event by click. one");

});



$("#clickWayToEvent").click(function(){

alert("this is registry event by click. two");

});

$("#clickWayToEvent").click(function(){

alert("this is registry event by click. three");

});

}



function initLiveEvent(){

$("#liveWayToEvent").live("click",function(){

alert("this is registry event by click. one");

});

/*

$("#clickWayToEvent").click(function(){

alert("this is registry event by click. two");

});

$("#clickWayToEvent").click(function(){

alert("this is registry event by click. three");

});

*/

}





function oneEventByBindUnBind(){

 

registryManyEvent("oneEvnetByBind");

$("#oneEvnetByBind").unbind("click").bind("click",function(){

alert("only you !!!!!!!");

});



}



function oneEvnetByDieLive(){

registryManyEvent("oneEvnetByDieLive");

$("#oneEvnetByDieLive").die().live("click",function(){



alert("the one of you !!!!!!");

});

}



function registryManyEvent(id){

$("#"+id).click(function(){

alert("this is registry event by common. one");

});



$("#"+id).click(function(){

alert("this is registry event by common. two");

});

$("#"+id).click(function(){

alert("this is registry event by common. three");

});

}



</script>

<style>

 

.info{

width:100%;

height:auto;

float:auto;

margin:10px;


}

 

</style>

 

</head>

<body onload="initEvents()">





<h1>Welcome to jquery registry event test</h1>

<button id="onWayToEvent" >通过on的方式多次注冊事件</button>  </br>

<div class="info">

通过 on方法注冊的事件,每次的注冊不会把原来的方法覆盖掉。

会以队列的形式保存起来

点击的时候,触发事情会一个个按注冊的顺序运行。

主要代码:

function initOnEvent(){

//为id为onWayToEvent button注冊点击事件

$("#onWayToEvent").on("click",function(){

alert("this is one on event")

});

$("#onWayToEvent").on("click",function(){

alert("this is two on event")

});

$("#onWayToEvent").on("click",function(){

alert("this is three on event")

});

}



</div>

<button id="bindWayToEvent">通过bind的方法多次注冊事件</button>



<div class="info" >

通过 jquery 的bind方法多次注冊的方法也是一样,不会把原来的方法覆盖了,也是把方法以

队列的形式保存起来。触发事件后按注冊次序逐个运行。



主要代码:

function initBindEvent(){

//为id为bindWayToEvent 的button注冊点击事件

$("#bindWayToEvent").bind("click",function(){

alert("this is registry event by bind. one")

});



$("#bindWayToEvent").bind("click",function(){

alert("this is registry event by bind. two")

});



$("#bindWayToEvent").bind("click",function(){

alert("this is registry event by bind. three")

});

}

</div>



<button id="clickWayToEvent">通过click方法多次注冊事件</button>

<div class="info" >

通过 jquery 的click方法多次注冊的方法也是上面的效果一样 。





主要代码:

function initClickvent(){

$("#clickWayToEvent").click(function(){

alert("this is registry event by click. one");

});



$("#clickWayToEvent").click(function(){

alert("this is registry event by click. two");

});

$("#clickWayToEvent").click(function(){

alert("this is registry event by click. three");

});

}

</div>

<button id="liveWayToEvent">通过live 方法多次注冊事件</button>

<div class="info" >

 要怎么样才干把前面的事件给覆盖掉。仅仅保留最后注冊的事件方法?

</div>



<button id="oneEvnetByBind">通过unbind,bind方法进行事件的唯一注冊</button>

<div class="info">

这种方法能够行得通

主要代码:

function oneEventByBindUnBind(){

 

registryManyEvent("oneEvnetByBind");

$("#oneEvnetByBind").unbind("click").bind("click",function(){

alert("only you !!!!!!!");

});



}



 



function registryManyEvent(id){

$("#"+id).click(function(){

alert("this is registry event by common. one");

});



$("#"+id).click(function(){

alert("this is registry event by common. two");

});

$("#"+id).click(function(){

alert("this is registry event by common. three");

});

}



</div>



<button id="oneEvnetByDieLive">通过 die live 方法进行事件的唯一载入</button>

<div class="info">

我们用的 jquery-1.10.2.js 这里没有提供 die live 方法。

对于网上提供的这种方法是无效的。

主要代码:

function oneEvnetByDieLive(){

registryManyEvent("oneEvnetByDieLive");

$("#oneEvnetByDieLive").die().live("click",function(){



alert("the one of you !!!!!!");

});

}



function registryManyEvent(id){

$("#"+id).click(function(){

alert("this is registry event by common. one");

});



$("#"+id).click(function(){

alert("this is registry event by common. two");

});

$("#"+id).click(function(){

alert("this is registry event by common. three");

});

}



</div>



</body>

</html>

jquery 事件注冊 与反复事件处理的更多相关文章

  1. struts2+jquery验证注冊用户是否存在

    注冊界面 register.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&q ...

  2. jquery 事件,注册 与重复事件处理

    jquery有时候会出现重复注册一个事件的问题,导致点击一个事件,这个事件被重复执行,也就是触发事件的次数有几次, 那么这个事件就会被执行叠加重复几次. 我这边做的一个项目,在某个页面初始化的时候,给 ...

  3. jquery事件手冊

    方法 描写叙述 bind() 向匹配元素附加一个或很多其它事件处理器 blur() 触发.或将函数绑定到指定元素的 blur 事件 change() 触发.或将函数绑定到指定元素的 change 事件 ...

  4. jquery注冊文本框获取焦点清空,失去焦点赋值

    在我们开发过程中特别是用户注冊时会有一个效果.就是文本框获取焦点清空提示,假设用户没有输入信息失去焦点赋值上我们的提示语 <html> <head> <meta http ...

  5. android点滴之标准SD卡状态变化事件广播接收者的注冊

    眼下最完整的,须要注冊的动作匹配例如以下: IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED); int ...

  6. Android实战简易教程-第二十三枪(基于Baas的用户注冊验证username是否反复功能!)

    接上一篇,加入验证用户名是否已经注冊功能! 仅仅须要改动MainActivity.java: package com.example.logintest; import java.util.List; ...

  7. 完美的jquery事件绑定方法on()

    在讲on()方法之前,我们先讲讲在on()方法出现前的那些事件绑定方法: .live() jQuery 1.3新增的live()方法,使用方法例如以下: $("#info_table td& ...

  8. jQuery事件传播,事件流

    一. jQuery事件传播 在DOM2级事件模型中,一旦事件被触发.事件流首先从DOM树顶部(文档节点)向下传播.直到目标节点.然后再从目标节点向上传播到DOM树顶.从上到下的过程被称为捕获阶段.从下 ...

  9. jQuery事件大全

    jQuery事件大全 attribute:  $(" p" ).addclass(css中定义的样式类型) 给某个元素添加样式 $(" img" ).attr( ...

随机推荐

  1. 无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则未经解析。

    SELECT CONVERT(VARCHAR(100), 列名) FROM Table 提示错误: 无法执行 varchar 值到 varchar 的隐式转换,原因是,由于排序规则冲突,该值的排序规则 ...

  2. 在web项目启动时执行某个方法

    在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件.初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作. 在工作中遇到 ...

  3. IOS系统之蓝牙外接设备

    Ios系统对于蓝牙外接设备在iphone4以前都是蓝牙2.0的时候,需要通过苹果的审核,据统计通过率仅有2%左右,现在蓝牙2.0基本上处于淘汰状态,所以在这里就不考虑了. 现在iphone4s以后的设 ...

  4. C++设计模式实现--模板(Template)模式

    一. 问题 在面向对象系统的分析与设计过程中常常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,可是逻辑(算法)的框架(或通用的应用算法)是同样的.Template提 ...

  5. 网络结构设计——负载均衡之LVS学习笔记(三)

    LVS按个人理解的说就是将一台Linux服务器当作路由器等功能的技术.LVS---Linux虚拟服务器. LVS实现了三种IP负载均衡技术VS/NAT.VS/TUN.VS/DR. 今天简单分享一下我在 ...

  6. SpringMVC -jquery实现分页

    效果图: 关键类的代码: package:utils: SpringUtil.java 通过jdbcTemplate连接oracle数据库 package com.utils; import org. ...

  7. 【Hibernate】Hibernate3.x独立执行时的Failed to load class &quot;org.slf4j.impl.StaticLoggerBinder&quot;错误

    按理说,假设Hibernate不依附于SSH执行,像<[Struts2+Hibernate3+Spring3]利用SSH整合,完毕打印用户表,用户登录.注冊.改动password系统>(点 ...

  8. 关于COM的Unicode string的精彩论述

    I need to make a detour for a few moments, and discuss how to handle strings in COM code. If you are ...

  9. iOS UIApplication的代理方法总结

    1.简单介绍 1> 整个应用程序的象征,一个应用程序就一个UIApplication对象.使用了单例设计模式 2> 通过[UIApplication sharedApplication]訪 ...

  10. error loading /system/media/audio/ui/Effect_Tick.ogg

    问题原因: 同一个AVD,调试了很多个项目,产生了N多个log文件,这些文件可能产生了影响. 解决办法: 新建一个AVD即可.