`
txf2004
  • 浏览: 6874278 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用prototype.js的事件处理方法

阅读更多

在prototype.js中包含了Event对象,其中提供了几个常用的方法,来帮助开发者完成事件处理。比较常用的方法有:
Event.element(event):获得当前事件发生的对象;
Event.isLeftClick(event):判断按下的是否为鼠标左键;
Event.pointerX(event):返回事件发生时鼠标的X坐标;
Event.pointerY(event):返回事件发生时鼠标的Y坐标;
Event.findElement(event, tagName):从当前事件发生的元素向上查找,直到发现第一个类型为tagName的标签;
Event.stop(event):阻止事件的默认传递;
以上方法中的参数都是事件对象,例如window.event。
可以使用Event.observe(element, event, handler, useCapture)为某个元素添加某个事件的处理方法。除了使用prototype.js中已有的方法外,也可以自己扩展Event对象,增加新的方法以适应新应用程序,下面的程序就是对Event对象的简单应用:

<html>
<head>
<title>PrototypeTestProgram</title>
<scriptlanguage="javascript"src="prototype.js"></script>
<scriptlanguage="javascript">...
//扩展Event对象,增加判断是否右键点击的方法
Object.extend(Event,...{
isRightClick:
function(event)...{
return(((event.which)&&(event.which==2))||
((event.button)
&&(event.button==2)));
}

}

);
</script>
</head>
<bodyonmousedown="alert('点击了链接以外的区域');">
<ahref="javascript:void(0)"onmousedown="test()"userName="test1">测试连接1</a><br>
<ahref="javascript:void(0)"id="ddd"userName="test12">测试连接2</a>
<scriptlanguage="javascript">...
Event.observe($(
"ddd"),"mousedown",test,false);
functiontest()...{
//获得当前事件发生的元素,并获得自定义的userName属性得值
alert(Event.element(window.event).userName);
//判断点击为左键,还是右键,还是未知键
if(Event.isLeftClick(window.event))...{
alert(
"左键点击");
alert(Event.pointerY(window.event));
}
elseif(Event.isRightClick(window.event))...{
alert(
"右键点击");
}
else...{
alert(
"未知键点击!");
}


//阻止事件的向上传递,即此时不会触发body的onmousedown事件
Event.stop(window.event);
}

</script>
</body>
</html>
分享到:
评论

相关推荐

    使用prototype.js进行异步操作

    创建XMLHttpRequest对象并且异步的跟踪它的进程, 然后解析出响应 然后处理它可能这是ajax的根本意义,它最具威力的地方,但你能出兼容各种不同浏览器的代码,可能会令你痛苦不堪,但幸好救苦救难的prototype.js提供...

    理解javascript中的Function.prototype.bind的方法

    这些都是可以的,但是还有一种更好的、更专有的方法,那就是使用Function.prototype.bind,下面进行详尽的讲解。  第一部分:需要解决的问题 首先看下面的代码 var myObj = { specialFunction: function () {

    axios.min.js

    Vue.prototype.$http=Axios get方法发送请求//方法一传递参数 this.$http.get('https://cnodejs.org/api/v1/topics',{ params: { //参数 page: this.page, limit: this.limit, }, }).then(res =&gt; { //请求成功后的...

    Date.time.Format.js 常用日期处理公共方法

    Date.prototype.Format 时间为刚刚、几分钟前、几小时前、几天前·· yyyy-MM-dd hh:mm:ss

    Selenium处理弹出窗口.docx

    这里介绍了chooseCancelOnNextConfirmation、chooseOkOnNextConfirmation等JavaScript脚本实现的弹出窗口处理函数,selenium会弹出网页窗口,因为它重写了window.open在文件selenium-browserbot.js函数BrowserBot....

    JavaScript下的时间格式处理函数Date.prototype.format

    主要介绍了JavaScript下的时间格式处理函数Date.prototype.format的相关资料,需要的朋友可以参考下

    JavaScript完全自学宝典 源代码

    7.8.html onsubmit事件使用方法。 7.9.html 失去焦点时检验文本框的值。 7.10.html 获得焦点时文本框样式更改。 img.JPG onblur事件中加载的图片文件。 第8章(\c08) 示例描述:学习JavaScript中...

    jquery.1.11.1.js 和 jquery.1.11.1.min.js

    它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的...

    jquery-3.5.0.min.js

    jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库...它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

    Js 回车换行处理的办法及replace方法应用

    当我们在文本框里输入文字敲下回车后,希望在提交后网页也显示是换行的效果,这时我们需要把... } 2、使用js的replace进行处理 代码如下: str=str.replaceAll(“\n”, “ ”) 这样就可以做到js回车换行的效果了!

    decimal.js - JavaScript的任意精度Decimal类型-javascript

    整数和浮点数 简单但功能齐全的 API 复制了 JavaScript 的 Number.prototype 和 Math 对象的许多方法 还处理十六进制、二进制和八进制值 比 Java 的 BigDecimal 的 JavaScript 版本更快、更小,并且可能更容易使用 ...

    vue interceptor 使用教程实例详解

    1. 新建 axiosTool.js 文件,设置请求拦截和处理的逻辑 import Vue from 'vue' import axios from 'axios' //取消请求 let CancelToken = axios.CancelToken //设置默认请求头,如果不需要可以取消这一步 axios....

    扩展微信小程序框架功能:日期时间Moment.js

    Moment.js是一个JavaScript的日期、时间处理工具类,其对于JavaScript的日期时间处理功能非常强悍和全面。可以用在浏览器环境中使用,也可以在Node.js中。 Moment.js Moment.js对Date对象的扩展不是使用Date....

    jQuery-1.3.js未压缩

    有人使用这样的一比喻来比较prototype和jquery:prototype就像Java,而jquery就像ruby.实际上我比较喜欢java(少接触Ruby 罢了)但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作为自己唯一的...

    stringdate.js:stringdate.js 提供了将 String 作为日期处理的函数

    stringdate.js提供了将作为处理的函数。 用法 有效格式 有效格式通常为"yyyy-MM-dd" 。 getLastDate()和isLeapYear()允许使用"yyyy-MM" 。 "yyyy"只允许用于isLeapYear() 。 请注意,该字符串在语法和语义上应该是...

    jQuery-1.3.js已压缩

    有人使用这样的一比喻来比较prototype和jquery:prototype就像Java,而jquery就像ruby.实际上我比较喜欢java(少接触Ruby 罢了)但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作为自己唯一的...

    华工web实验3.zip

    (要求分别使用 DOM 函数和 Prototype.js 函数完成) 实验要求:  用JS实现快速排序算法  用JS实现反序功能  用JS控制文字的颜色  定时事件触发  为按钮添加事件响应  消息对话框的使用

    jquery-1.11.1.min.js文件

    它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的...

    jquery.min.js

    jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库...它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

Global site tag (gtag.js) - Google Analytics