MooTools教程(5):事件处理

2016-02-20 00:41 37 1 收藏

今天图老师小编给大家介绍下MooTools教程(5):事件处理,平时喜欢MooTools教程(5):事件处理的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - Web开发 】

今天我们开始第五讲,在上一讲()中,我们学习了在MooTools 1.2中建立和使用函数的几种不同方式。下一步就是理解事件了。和选择器类似,事件也是建立互动界面的一个重要部分。一旦你掌握了一个元素,你需要去决定什么行为来触发什么效果。先把效果留着以后在讲,我们首先看一看中间步骤和一些常见的事件。

左键单击事件

左键单击事件是web开发中最常见的事件。超链接识别点击事件,然后把你带到另外一个URL地址。MooTools能够识别其他DOM元素上的点击事件,在设计和功能上给了你极大的灵活性。给一个元素添加一个点击事件的第一步:

参考代码: $().addEvent(, (){          alert(); });

你也可以把这个函数从.addEvent();独立出来来完成相同的事情:

参考代码:   clickFunction = (){          alert(); }   window.addEvent(, () {     $().addEvent(, clickFunction); }); 参考代码:  body     div id= ! --  element now recognizes the click event --     /div /body

注意:和超链接识别点击事件一样,MooTools的点击事件实际上也是识别mouse up,意味着当你鼠标松开是发生,而不是鼠标按下去的时候发生。这就给了用户一个机会去改变他们的主意只要在松开之前把鼠标的指针从点击的元素上移开就可以了。

鼠标进入和离开事件

当鼠标停留在一个链接元素上时,超级链接还识别hover事件。通过MooTools,你可以给其他的DOM元素也添加一个悬停事件。通过把这个事件分为鼠标进入和鼠标离开事件,你可以更加灵活地根据用户的行为来操控DOM。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

和以前一样,我们要做的第一件事就是把一个事件附加到一个元素:

参考代码:   mouseEnterFunction = (){          alert(); }   window.addEvent(, () {     $().addEvent(, mouseEnterFunction); });

鼠标离开事件也是同样的,这个事件在鼠标指针离开一个元素时发生。

参考代码:   mouseLeaveFunction = (){          alert(); }   window.addEvent(, () {    $().addEvent(, mouseLeaveFunction); }); 删除一个事件

总有一些时候,你一旦不再需要那些事件,于是你需要从一个元素上删除一个事件。删除一个事件和添加一个事件一样容易,甚至连结构都是类似的。

参考代码:  $().removeEvent(, mouseLeaveFunction); textarea或者input中的按键事件

MooTools也可以让你识别文本域(textarea)和文本框(input)中的按键事件。其语法和我们上面看到的类似:

参考代码:    = keydownEventFunction () {     alert(); };   window.addEvent(, () {     $().addEvent(, keydownEventFunction); });

上面的代码将会识别任何按键。要针对一个特定的按键,我们需要添加一个参数,然后使用一个if语句:

参考代码:    keyStrokeEvent = (event){                (event.key == ) {       alert()      }; }   window.addEvent(, () {     $().addEvent(, keyStrokeEvent); });

如果需要其他的控制,比如shift键和control见,语法略有一点不同:

参考代码:   keyStrokeEvent = (event){                (event.shift) {      alert()      }; }   window.addEvent(, () {     $().addEvent(, keyStrokeEvent); }); 参考代码:  div id=     input id= type= / /div 示例

这里是上面我们写过的一些可以执行的代码:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

注意:你可以在单击示例上面试一下,不过不是在上面松开鼠标,而是把鼠标一直按着从区块上离开,然后再松开。注意一下它没有触发点击事件。

参考代码:   keyStrokeEvent = (event){                (event.key == ) {          alert()       }; }    mouseLeaveFunction = (){          alert(); }    mouseEnterFunction = (){          alert(); }    clickFunction = (){          alert(); }   window.addEvent(, () {     $().addEvent(, clickFunction);     $().addEvent(, mouseEnterFunction);     $().addEvent(, mouseLeaveFunction);     $().addEvent(, keyStrokeEvent); }); 参考代码:  div id= class=左键单击(Click)/divbr / div id= class=鼠标进入(Mouse Enter)/divbr / div id= class=鼠标离开(Mouse Leave)/divbr / input id= type= value= /

左键单击(Click)
鼠标进入(Mouse Enter)
鼠标离开(Mouse Leave)

 

更多学习

包含MooTools 1.2核心库、一个外部JavaScript文件、一个简单的html页面和一个css文件。

更多关于事件的资料

MooTools给了你更多的关于事件的控制方法,比我们这里讲得要多得多。要学习更多内容,请查看下面几个链接:

MooTools文档中的 MooTools文档中的 还有,阅读一下w3school网站上

来源:http://www.tulaoshi.com/n/20160220/1632387.html

延伸阅读
标签: Web开发
每个JavaScript框架都实现跨浏览器的事件处理,鼓励你摆脱旧式的内联附加事件而使用精简的线性方法。看看清单6的jQuery例子,使用hover事件高亮显示div元素。 清单6:使用jQuery附加hover事件 $('#the-box').hover(function() {    $(this).addClass('highlight'); }, function() {    $(this).removeClass('highli...
DOTNET事件处理的步骤与实现 第一步:定义一个合适的委托 例: delegate void MoveEventHandler(Object Sender,MoveEventArgs e) 注意:DotNet框架中的标准委托的定义如下: Public delegate void EventHabdler(Object Sender,EventArgs e) 参数说明: (1)Sender:表示消息的发送方; (2)EventArgs:默认的消息处理类(不...
标签: Web开发
今天我们来看看MooTools是怎样使得过滤用户输入变得非常轻松。我们今天将讲一些基本的数字过滤,明天再更深入地讲讲字符串过滤。 注意 :JavaScript中的输入过滤只是为了保证(客户端)代码顺利执行,并 不能 替代服务器端的字符串过滤来保护你的应用程序不被注入攻击。 在第四讲的最后的一个例子中,我们从文本输入框获取RGB值,然后使...
标签: Web开发
Session 对象有两个事件:即 OnStart 事件和 OnEnd 事件。通过对这两个事件过程编写脚本可以在会话开始和结束时执行指定的操作。编写这些事件过程的脚本代码时,必须使用 SCRIPT 标记并将 RUNAT 属性设置为 Server ,而不能使用一般的 ASP 脚本定界符% 和 %;这些事件过程的脚本代码必须包含在一个名为 global.asa 的文件中,而该文件必须...
标签: Web开发
如果你还没有准备好,请先阅读上一篇《Mootools 1.2教程(1)MooTools介绍》。我们讲了怎么引用MooTools 1.2以及怎么在domready里面调用你的脚本。 今天开始本系列教程的第2讲。在这一讲中,我们会学习几种选择HTML元素的方法。在许多方面,这是MooTools用得最多最基本的。毕竟,要创建一个基于HTML元素的交互性用户体验,你必须首先把它们掌...

经验教程

529

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部