jQuery的事件模式(翻译jQuery in action第四章6)

426 jQuery交互事件

RIA页面开发的时候,经常会需要很多交互的事件,也就是很多事件的组合使用。jQuery给我们提供了了这样一组函数,让我们在开发交互事件的时候更加容易。有两个函数,我们逐步认识他们:

togglelistnerOddlistnerEven);

这个函数的作用就是触发被选中元素的click事件,但是该事件绑定的函数就是参数中两个,间歇使用。什么意思呢?就是活第一次click的时候执行listnerOdd,第二次click的时候就是listnerEven,第三次又执行listnerOdd

参数:listnerOddFunction)奇数次点击的时候调用的函数;

参数:listnerEvenFunction)偶数次点击的时候调用的函数。

返回:jQuery数组对象

下边看这个例子,就明白这个函数的原理了:

<html>

<head>

<title>jQuery Toggle Command Example</title>

<script type="text/javascript"

src="../scripts/jquery-1.2.1.js">

</script>

<script type="text/javascript">

       $(function(){

              $('#vstar').toggle(

              function(event) {

                     $(event.target)

                     .css('opacity',0.4);

              },

              function(event) {

                     $(event.target)

                     .css('opacity',1.0);

              }

       );

       });

</script>

</head>

<body>

<img id="vstar" src="vstar.jpg"/>

</body>

</html>

在这个例子中,奇数次数点击图片的时候,图片的透明度变成0.4,偶数点击的时候不透明,toggle函数已经封装了,是奇数点击次数还是偶数点击次数,也不要考虑是什么浏览器,是不是用起来很简单啊^_^

我们已经完成了图片半透和透明之间切换的效果,如果要切换元素的状态也就这样操作了。只是让他的disableenable之间切换就成了,在RIA开发的时候,还会遇见另外一种事件交互方式,就是鼠标的overoutjQuery还为我们提供了一个函数hover就是解决这个问题的。

HoveroverListneroutListner);

参数:overListnerFunctionmouseover事件执行的函数

参数:outListnerFunctionmouseout事件执行的函数

返回:jQuery数组对象

定义鼠标指针在选中元素区域之上执行的函数和移出执行的函数。如果没有这个函数,我们要在一个刚才的那个图片上加上这两个事件,就应该这样定义:

$('#vstar').bind(‘mouseover mouseout’,report);

function report(event){

              $(document.body).append('<div>'+event.type+'</div>');

}

原文中有很多的落锁的东西,我也翻译的不是很地道就省略了,我们的目的就是把问题讲清楚,上边的这个代码应该很容易理解。

现在我们用hover定义一下就明白了,

$('#vstar').hover report report );这样就和上边的效果一样,是不是简单多了。现在可以回味一下,实际上任何一个框架或者是语言的基础库都是有限的,只是做了不同的封装,这样就要求我们要经常看 api 了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值