<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> jquery events </TITLE>
<script src="jquery-1.3.2.js" type="text/javascript"></script>
<script language="javascript" >
function one(){
alert("one");
}
function two(){
alert("two");
}
window.onload=one;
//依次给onload赋值时,后面的会覆盖前面的,只能保存对一个函数的引用
window.onload=two;
//最终绑定一个匿名函数,调用两个函数
window.onload=function(){
alert("js");
one();
two();
}
//$(document).ready(function(){}),$().ready(function(){}),$(function(){})等价
//该方法内注册的函数,事件,只要dom加载完毕就可以操作,执行要早于window.onload
//多次调用该方法注册事件会在原来的基础上追加
$(document).ready(function(){
alert("jquery");
one();
two();
})
$(function(){
alert("three");
})
$().ready(function(){
alert("four");
})
/*
bind("",function(){})
参数1是需要绑定的事件,可以是js中已经存在的事件(onclick,onmouseover,change,blur...)
bind中作为参数时没有前面的on("onclick"-->"click"),也可以是
自定义事件,用trigger方法调用;
参数2是处理函数
*/
$(function(){
$("#bt1").bind("click",function(){
alert("正在计算");
}).bind("click",function(){//bind可以多次调用
var tm = new Date().toString();
$(this).next("span").html(tm).show();
}).bind("focus click",function(){
alert("focus or click");
})
})
//为元素绑定事件也可以这样简写
$(function(){
$("#bt2").click(function(){
alert("hello");
})
})
//hover(f1,f2)两个函数参数,当光标移动到元素上时,触发第一个函数,
//当光标移出这个元素时,会触发第二个函数
$(function(){
$("#bt3").hover(function(){
$(this).next("span").html("in");
},function(){
$(this).next("span").html("leave");
})
})
//toggle(f1,f2,f3...),当点击绑定该事件的元素时,会循环重复调用传递的函数参数,
//如果调用到最后一个,下次点击又会从第一个开始
$().ready(function(){
$("#bt4").toggle(
function(){alert("1")},
function(){alert("2")},
function(){alert("3")}
)
})
$(document).ready(function(){
$("#bt5").toggle(function(){
$(this).next("span").hide();
},function(){
$(this).next("span").show();
})
})
</script>
</HEAD>
<BODY>
<hr/>
<button id="bt1">现在的时间?</button><span style="display:none"></span><br/>
<button id="bt2">click</button><br/>
<button id="bt3">test hover()</button><span></span><br/>
<button id="bt4">test toggle() 1</button><br/>
<button id="bt5">test toggle() 2</button><span>hello</span>
<hr/>
<div id="d1" style="background-color:red;width:100px;height:50px">
<span id="s1" style="background-color:green;width:60px;height:30px">hello</span>
</div>
<hr/>
<button id="bt6">点击看我有几个click函数</button><br/>
<button id="bt7">移除一个click事件</button>
<button id="bt8">移除所有click事件</button>
<button id="bt9">移除所有事件</button>
<hr/>
<div style="background-color:red;width:400px;height:50px">
<span>hello</span>
</div>
<button>触发div的自定义事件</button>
</BODY>
<script language="javascript">
/*
分别为选择的div和span注册click事件,上面可知该span是该div的child,
如果点击该span也相当与点击了该div,所以两个的click函数都会触发,如果当点击span时只想
触发span的click函数,可以在其注册函数传递event参数,用event.stopPropagation()来停止事件冒泡,相当于return false;
注册函数传递的event参数包含了一些事件信息
event.type() 事件类型
event.target() 触发事件的元素
event.pageX(),event.pageY() 光标相对于页面的x和y坐标
event.which() 鼠标单机事件中获取鼠标的左、中、右键//对应值分别是1、2、3
event.preventDefault() 阻止事件的默认行为,如submit
event.stopPropagation() 阻止事件冒泡
*/
$("div#d1").click(function(){alert("div click")});
$("span#s1").click(function(event){
alert("span click");
event.stopPropagation();//return false也可以
});
//为id是bt6的button注册事件
$("#bt6").bind("click",myFunc1=function(){
alert("click func1");
}).bind("click",myFunc2 = function(){
alert("click func2")
}).bind("click",myFunc3=function(){
alert("click func3");
}).bind("mouseover",function(){
$(this).css("backgroundColor","green");
}).bind("mouseout",function(){
$(this).css("backgroundColor","");
})
/*
unbind()函数,用来移除注册事件
(1) 没有参数,则删除所有绑定事件
(2)如果提供事件类型作为参数,只删除该类型的绑定事件
(3)在(2)的基础上,传递绑定的处理函数作为第二个参数,
则只有这个特定的事件处理函数会被删除
*/
//点击id为bt7的button移除bt6的第一个click函数
$("#bt7").bind("click",function(){
$("#bt6").unbind("click",myFunc1);
})
//bt8用来移除bt6所有的click函数
$("#bt8").bind("click",function(){
$("#bt6").unbind("click");
})
//bt9用来移除bt6所有的注册事件
$("#bt9").bind("click",function(){
$("#bt6").unbind();
})
/*
对于只需要触发一次的事件可以用one()方法处理,
用法类似bind()方法
*/
//模拟操作,触发事件 trigger();可以是js事件也可以是自定义事件
//选取body下的最后一个button和div元素
var $lsBt = $("body > button:last");
var $lsDv = $("body > div:last");
//为最后一个div绑定一个自定义事件hello
$lsDv.bind("hello",function(){
$(this).append("<span>自定义绑定事件hello被调用<span>")
})
//当点击最后一个button,触发div的hello事件
$lsBt.click(function(){
$lsDv.trigger("hello");
})
</script>
</HTML>
分享到:
相关推荐
jQuery事件处理
jquery事件处理。
RIA应用开发:5-jQuery事件处理.ppt
RIA应用开发实验指导书:实验三 jQuery事件处理.doc
jQuery 事件以及处理方法 jQuery 事件 事件方法会触发匹配元素的事件,或将函数绑定到所有匹配元素的某个事件。 触发实例:$("button#demo").click() ...jQuery 事件处理方法 事件处理方法把事件处理器绑定至匹配元素。
下面小编就为大家带来一篇深入理解jQuery 事件处理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
jQuery事件处理方法是jQuery的核心函数。 常用事件方法(教材P263表A-4): 分类 事件方法 描述 鼠标 click() 单机鼠标左键时触发 dbclick() 双击鼠标左键时触发 键盘 keypress() 键盘按键(Shift、CapsLock等非字符...
默认情况下,引发未捕获异常的jQuery事件处理程序可以阻止执行同一事件的其他事件处理程序。 触发事件后立即运行的任何代码也可以由单个失败的事件处理程序暂停。 此插件创建jQuery事件处理方法的“安全”版本(如....
主要给大家介绍jquery事件处理的一些特征,jquery事件命名机制的相关知识,介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看下吧
jQuery选择器 jQuery操作DOM jQuery事件处理 jQuery动画基础
主要简单介绍了jquery事件处理,十分的实用,有需要的小伙伴可以参考下。
jQuery事件处理程序 与其创建大量难以跟踪的jquery.on函数,我们创建了一个简单的包装器来帮助我们跟踪触发和侦听的事件。 触发事件 DO.Fire(eventName, data); 收听事件: DO.Subscribe(eventName, function...
jQuery事件处理 jQuery页面导航(这部分内容较少,增加了几个纯CSS实现) jQuery视觉特效(这部分内容最丰富)。 每个实例都有简洁的注释,基本上原书的精髓都汇聚于此。另外附带jQuery可视化API一份。 希望大家...
jQuery元素属性、jQuery元素内容、jQuery动态创建内容、jQuery删除节点、jQuery事件处理、jQuery文档就绪的四种写法、jQuery事件绑定和解除绑定、jQuery事件切换、jQuery实现toggle功能、jQuery插件、jQuery插件实用...
jq-events-debuger 显示jQuery事件处理程序的源代码
jQuery 事件处理方法是 jQuery 中的核心函数。 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。 通常会把 jQuery 代码放到 部分的事件处理方法中: 实例 ...
jquery.hotkeys键盘事件处理插件DEMo
内容包括:jQuery Ajax 操作函数,jQuery 选择器,jQuery 事件处理方法,jQuery 事件方法,jQuery 效果函数,jQuery 文档操作方法,jQuery 属性操作方法,jQuery CSS 操作函数,jQuery 遍历函数