JS事件入门学习

每当发生事件,浏览器就会产生一个事件对象,用来保存与事件有关的一些信息

IE,chrome 支持 window.event,而FF不支持,兼容写法如下:

xxx.onclick =function(evt){  //这里的evt可以改成event,e,下面相应的要对应

  var e = evt || window.event;  

}

对于鼠标事件,event对象里面的button属性,表示按下或释放按钮。

w3c浏览器和IE浏览器保存的数据有点不同,所以 我们只兼容的获取当前点击的是左键,中键还是右键

function getButton(evt) { //跨浏览器左中右键单击相应
  var e = evt || window.event;
  if (evt) { //Chrome 浏览器支持 W3C 和 IE
    return e.button; //要注意判断顺序,W3C一次返回0,1,2   
  } else if (window.event) {
    switch(e.button) {  //因为IE浏览器一次返回1,4,2,所以要修改成和w3c一样的数据
      case 1 :
        return 0;
      case 4 :
        return 1;
      case 2 :
        return 2;
    }
  }
}

可视区及屏幕坐标
事件对象提供了两组来获取浏览器坐标的属性, 一组是页面可视区左边, 另一组是屏幕坐标

clientX 可视区 X 坐标,距离左边框的位置
clientY 可视区 Y 坐标,距离上边框的位置
screenX 屏幕区 X 坐标,距离左屏幕的位置
screenY 屏幕区 Y 坐标,距离上屏幕的位置

键盘事件:

shiftKey 判断是否按下了 Shfit 键
ctrlKey 判断是否按下了 ctrlKey 键
altKey 判断是否按下了 alt 键

键码:
在发生 keydown 和 keyup 事件时,event 对象的 keyCode 属性中会包含一个代码,与键盘上一个特定的键对应。对数字字母字符集,keyCode 属性的值与 ASCII 码中对应小写字母或数字的编码相同。

不同的浏览器在 keydown 和 keyup 事件中,会有一些特殊的情况:
在 Firefox 和 Opera 中,分号键时 keyCode 值为 59,也就是 ASCII 中分号的编码;而 IE和 Safari 返回 186,即键盘中按键的键码。

时间: 2024-08-05 10:50:32

JS事件入门学习的相关文章

JS事件委托学习

JS 事件委托就是利用冒泡原理,把事件加到父级上触发,执行效果. 好处: 1.提高性能 2.新添加的元素还会有之前的事件 <ul id="ul">     <li>111111</li>     <li>22222</li>     <li>333333</li>     <li>444444</li></ul> 这样一个HTML结构 我想要给LI增加一个鼠标点击的效

Ext JS 6 入门学习资料大全

现在 sencha touch已经升级为 Ext JS 6 了重新整理下资料 官方网站:https://www.sencha.com/ 在线文档:http://docs.sencha.com/extjs 官方论坛:http://www.sencha.com/forum/ 官方sdk下载页:https://www.sencha.com/products/extjs/evaluate/ 官方cmd下载页:https://www.sencha.com/products/extjs/cmd-downlo

js事件处理程序学习与总结

(1)html事件处理程序,使用一个与相应事件处理程序同名的HTML特性来指定,可以定义事件处理程序是可以包含要执行的具体动作,也可以调用页面其他地方定义的脚本函数,但这种方法就是把javascript与html混写,一般开发,不建议使用,比如: <input type="button" value="提交" onsumit="alert(提交了?)"> (2)javascript指定事件处理程序 这种方法,必须先取得一个操作对象的引

JS 事件入门

事件介绍 事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netscape Navigator 中出现, 作为分担服务器端运算负载的一种手段.直到几乎所有的浏览器都支持事件处理.而 DOM2 级规范开始尝试以一种复合逻辑的方式标准化 DOM 事件.IE9.Firefox.Opera.Safari 和 Chrome 全都已经实现了"DOM2 级事件"模块的核心部分.IE8 之前浏览器仍然使用其专 有事件模型. JavaScript 有三种事件模型:内联模型.脚本模型和 DOM2

js入门学习

在HTML,CSS学习的最后,开始入门学习javascript, 首先就是去了解它的用途 作用:使web页面能够与用户交互,作为控制浏览器给网页增添活力的方法 定义:它是一种脚本语言,作用于浏览器.和java没有半毛钱关系,主要是当时Netscape公司为了增加影响力改了名,,(是不是感觉很无耻) ps:区分程序的一种方式:1.客户端程序(client-side),像javascript就是,我觉得HTML,CSS应该也是. 2.服务器端程序(server-side),java,perl,php

4.Knockout.Js官网学习(事件绑定)

前言 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用在button,input和连接a上,但是可以在任意元素上使用. 简单示例 <h2>ClickBind</h2> <div> You've clicked <span data-bind="text: numberOfClicks"></span> times <button data-bind="

慕课网课程学习--JS事件探秘

事件流 事件冒泡(IE):事件最先被最具体的元素(文档中嵌套层次最深的节点)接受,然后逐级向上传播至最不具体的节点(.. -> body ->html -> document): 事件捕获(网景):不具体的节点更早接收到事件,最具体的节点最后接收到事件,和事件冒泡相反. 事件处理程序 1.HTML事件处理程序 原理:把事件直接在HTML结构中的HTML元素上. 方法一. <input type="button" value="click" o

JS 事件学习笔记(二)

在JS事件学习笔记(一)中学习了事件流.事件处理程序.事件对象以及跨浏览器应该怎么做等知识,现在我们现在来学习浏览器中主要的各种事件. 一. load事件 load事件通常是通过JavaScript代码指定,在window对象上绑定,实际上根据DOM2规定,应该在document上而非window上触发load事件,但是所有浏览器都在window对象上实现了该事件.因此以确保兼容性推荐使用该方法: 另外,在window上发生的事件也可以作为body元素的属性在html代码中添加. load事件的

JS做深度学习1——偶然发现与入门

JS做深度学习1--偶然发现与入门 不久前,我初次涉猎了Node.js,并且使用它开发了毕业设计的WEB模块,然后通过在Node中调用系统命令执行Python文件方式实现了深度学习功能模块的对接,Python代码的介入,让JS代码显得很累赘,我说过我很爱ES6以后的JS并且很讨厌Python的代码风格,无奈,我在写毕设那会Google还没有正式发布基于JS的深度学习框架,好吧,其实我对这事已经抱怨了很久,但是我的"呼声"仿佛很快就被Google"认同了"(滑稽),就