js事件操作

常用事件分类:

  onclick(点击)  onmouseover(鼠标放上)  onmouseout(鼠标移开)  onfocus(获得焦点)  onblur(失去焦点)  onload(网页加载完)   ondblclick(鼠标双击)  onkeydown(键盘按下)  onkeyup(键盘抬起)  onkeypress(按下并抬起)

DOM0级事件设置方式:

  a)         <input  onclick=”alert(this)”>  this指引当前input框

  b)        <input  onclick=”fn()”>   fn内部的this指引window对象

  c)         it.onclick=fn                       fn内部this指引input框对象

  d)        it[‘onclick’] = fn          fn内部this指引input框对象

缺陷:1、未能为一个对象设置多个相同的事件,例如onclick事件。  2、不能取消事件

DOM2级事件设置方式

  addEventListener(事件类型,处理,捕捉冒泡);  //冒泡(从里到外,从最里面的元素)捕捉(从外到里,从最外面最大的元素)

  dom.addEventListener(‘click‘,function(){alert(‘div bei dianji‘)},false);  设置事件绑定

  dom.removeEventLinstener(‘click‘,f1,false);  移除事件绑定,不能解除匿名函数的事件绑定

在IE里边有自己的事件绑定方法

  a)         attachEvent(类型, 处理)   绑定事件

  b)        detachEvent(类型, 处理)   解除绑定

  c)         类型必须有on标志

  d)        没有第三个参数,事件流就是“冒泡型”

绑定事件的兼容处理

function addHandler(obj,tp,fn){
        //判断浏览器类型
        //查看obj对象本身有何属性,即可判断浏览器类型
        if(obj.addEventListener){
            //主流浏览器
            obj.addEventListener(tp,fn,false);
        } else if (obj.attachEvent){
            //IE浏览器
            obj.attachEvent("on"+tp,fn);
        } else {
            obj["on"+tp] = fn;
        }
    }
    function removeHandler(obj,tp,fn){
        if(obj.removeEventListener){
            //主流浏览器
            obj.removeEventListener(tp,fn,false);
        } else if (obj.detachEvent){
            //IE浏览器
            obj.detachEvent("on"+tp,fn);
        } else {
            obj["on"+tp] = null;
        }
    }

  

事件对象event

  a)         键盘事件,需要知道哪个键盘被按下

  b)        鼠标事件,我们可能需要知道鼠标当前的位置

  c)         事件流,冒泡型,确定事件对象目标

  d)        需要借助事件对象获得以上信息

  e)         获得事件对象:

function(evt){}是主浏览器获得事件对象的固定用法

window.event  IE浏览器的事件对象是window对象下的一个属性

//获取event对象的兼容处理
dom.onclick = function(evt){
        //console.log(event);
        var event = evt ? evt : window.event;
        alert(event);
        alert("abc");
    }

获取事件发生时鼠标的位置:event.clientX和event.clicentY;获取事件发生时按下的键:event.keyCode;获取触发事件的dom对象:event.target

js事件操作

时间: 2024-10-10 18:05:35

js事件操作的相关文章

js事件,操作页面文档,计算后样式,数据类型

js:运行在浏览器的脚本语言 js引入 1.行间式:存在于行间事件中 <div id="div" onclick="this.style.color="red"">文本内容</div> <style> div{ width: 100px; height: 100px; background-color: red; } </style> </head> <body> <d

node.js零基础详细教程(4):node.js事件机制、node异步IO操作

第四章 建议学习时间3小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. node.js事件机制 node.js是单线程,但是通过事件和回调支持并发,可以实现非常高的性能. node.js所有的API都是通过异步调用.第一堂课的时候,我们写过一个同步和异步的示例(如下),当初说到:同步代码先执行完成,然后才执行异步

js闭包 选择器 面向对象 事件 操作页面

闭包js函数的嵌套定义,定义在内部的函数 就称之为闭包为什么使用闭包: 1.一个函数要使用另一个函数的局部变量 2.闭包会持久化包裹自身的函数的局部变量 3.解决循环绑定 function outer() { var num =10; function inner() { //1.在inner函数中,使用了outer的局部变量num return num; } return inner; } var innerFn = outer(); //2.借助闭包,将局部变量num的声明周期提升了 var

JS事件(事件冒泡和事件捕获)

事件流:描述的是在页面中接收事件的顺序 事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档) 事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件 DOM中:用于处理指定和删除事件处理程序的操作addEventListener()和removeEventListener().他们都接收三个参数:要处理的事件名.作为事件处理程序的函数和布尔值(事件处理的时候)[true:事件捕获时;false:事件冒泡时] DOM中的事件对象: type属性 用于获取事件类

使用HTML5的JS选择器操作页面中的元素

上一篇文章介绍了HTML5新增的JavaScript选择器,今晚正式实践一下,使用HTML5的JS选择器操作页面中的元素. 文件命名为:querySelector.html,可在Chrome浏览器中预览效果. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>使用HTML5的JS选择器操作页面中的元

JS中的函数、Bom、DOM及JS事件

本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的声明及调用] 1.函数声明的格式: function 函数名(参数1,参数2,参数3,--){//函数体 return 结果; } >>>函数的调用格式: 直接调用:函数调用的格式:函数名(参数一的值,参数二的值,--): 事件调用:事件名=函数名( ); 2.函数声明的几点强调: ①函数名

三言两语之js事件、事件流以及target、currentTarget、this那些事

厉害了我的哥——你是如此简单我却将你给遗忘   放假前再看某文档,里边提到两个我既熟悉又陌生的概念target.currentTarget,说他熟悉我曾经看到过这两个事件对象的异同处,说他陌生吧?很不巧.正要运用了,吾才发现吾压根就没记住...其实要讲清楚target.currentTarget,我们就不得不说一下事件流这个概念,而要言明事件流,我们也要晓得一下神马是事件以及一些周边生态概念,这三个概念是必须放在一块说,我们才能对能对这部分的知识有很好的理解滴,网上信息太零散,于是乎就有了这篇算

JS的Touch事件们,触屏时的js事件

丫的,终于找到了JS在平板电脑上的事件!!! iphone.ipod Touch.ipad触屏时的js事件 1.Touch事件简介 pc上的web页面鼠标会产生onmousedown.onmouseup.onmouseout.onmouseover.onmousemove的事件,但是在移动终端如iphone.ipod Touch.ipad上的web页面触屏时会产生ontouchstart.ontouchmove.ontouchend.ontouchcancel事件,分别对应了触屏开始.拖拽及完成

js事件浅析

js中关于DOM的操作很多,因此js事件机制也就尤为重要. 事件绑定形式: 一. 内联形式 耦合度高,不利于维护 <button onclick="alert('你点击了这个按钮');">点击这个按钮</button> 二. 属性绑定(DOM0级事件) 只能绑定一个函数 button.onclick = function() {}; 三. 事件监听函数(DOM2级事件) element.addEventListener(<event-name>, &