Javascripts事件基础和事件绑定

javascript事件基础和事件绑定
一、事件驱动
    1、事件
    javascript侦测到的用户的操作或是页面的一些行为
    2、事件源
    引发事件的元素(发生在谁身上)
    3、事件处理的程序
    对事件处理的程序或是函数(发生什么事)
二、事件分类
    1、鼠标事件
    onclick 鼠标单机时触发此事件;
    ondblclick 鼠标双击时触发此事件;
    onmousedown 按下鼠标时触发此事件;
    onmouseup 鼠标按下后松开鼠标时触发此事件;
    onmousemove 鼠标移动时触发此事件;
    onmouseout 当鼠标离开某对象范围时触发此事件。
    2、键盘事件
    onkeyup 当键盘上某个按键被按下后松开时触发此事件;
    onkeydown 当键盘上某个按键被按下时触发此事件;
    onkeypress 当键盘上某个按键被按下并且释放触发此事件。
    3、表单事件
    onsubmit 一个表单被递交时触发此事件;
    onfoucs 当某个元素获得焦点时触发此事件;
    onchange 当前元素失去焦点并且元素的内容发生改变时触发此事件。
    4、页面事件
    onload 页面加载事件;
    onunload 当前页面将被改变时触发此事件;
    onbeforeunload 当前页面的内容将要被改变时触发此事件。
三、如何绑定事件
    1、在脚本中绑定;
    2、直接在HTML元素绑定。
例:
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        window.onload = function() {
            var btn = document.getElementById("btn");
            btn.onclick = fn1;
            addEvent(btn, "onclick", fn2);
            btn.onclick = null;
        };
        //obj: 需要添加事件的对象
        //types: 事件的类型
        //fns: 添加的事件方法
        function addEvent(obj, types, fns) {
            if(obj[types] == null) {
                obj[types] = fns;
            } else {
                var oldFns = obj[types];
                obj[types] = function() {
                    oldFns();
                    fns();
                }
            }
        }
        function fn1() {
            alert(‘1‘);
        }

function fn2() {
            alert(‘2‘);
        }
    </script>
</head>
<body>
<input type="button" id="btn" value="点击"/>
</body>
</html>

四、同一个元素绑定多个事件处理程序
    IE:
    对象.attachEvent("事件(on)","处理程序") 添加;
    对象.detachEvent("事件(on)","处理程序") 删除;
    FF:
    对象.addEventListener("事件","处理程序",布尔值) 添加;
    对象.removeEventListener("事件","处理程序",布尔值) 删除;
例:
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        window.onload = function() {
            btn.onclick = fn1;
            addEvent_1(btn,"click",fn2);
            addEvent_2(btn,"click",fn2);
        };
        function addEvent_1(obj,types,fns){
            if(document.all){
                obj.attachEvent("on"+ types,fns);
            }else{
                obj.addEventListener(types,fns,false)
            }
        }
        function addEvent_2(a,b,c){
            if(document.all){
                a.detachEvent("on" +b,c)
            }else{
                a.removeEventListener(b,c,false)
            }
        }
        function fn1(){
            alert("1");
        }
        function fn2(){
            alert("2");
        }
    </script>
</head>
<body>
<input type="button" id="btn" value="点击"/>
</body>
</html>

时间: 2024-10-15 16:54:20

Javascripts事件基础和事件绑定的相关文章

JS事件基础和绑定

一.事件的分类 鼠标事件 键盘事件 表单事件 页面事件 二.事件驱动 .事件 javascript侦测到的用户的操作或是页面的一些行为(怎么发生的) 事件源 引发事件的元素.(发生在谁的身上) 事件处理程序 对事件处理的程序或是函数 (发生了什么事) 三.事件的绑定 在脚本中绑定 直接在HTML元素绑定 四.同个元素添加绑定多个事件 手动输入,自定义 IE: 对象.attachEvent("事件(on)","处理程序")   添加 对象.detachEvent(&q

JQuery_事件基础

JavaScript 有一个非常重要的功能,就是事件驱动.当页面完全加载后,用户通过鼠标或键盘触发页面中绑定事件的元素即可触发.jQuery 为开发者更有效率的编写事件行为, 封装了大量有益的事件方法供我们使用. 一.事件绑定 jQuery 通过.bind()方法来为元素绑定这些事件. 可以传递三个参数: bind(type, [data], fn),type 表示一个或多个类型的事件名字符串:[data]是可选的,作为 event.data 属性值传递一个额外的数据,这个数据是一个字符串.一个

Jquery基础之事件操作

事件是用户操作时页面或页面加载时引发的用来完成javascript和HTML之间的交互操作.常见的元素点击事件.鼠标事件.键盘输入事件等,较传Javascript 相比JQuery增加并扩展了基本的事件处理机制,极大的增强了事件处理的能力. 一.DOM加载事件 页面加载完毕后浏览器会通过javascript为Dom元素加载事件,使用Javascript时候使用的是window.onload方法,而Jquery使用的是$(document).ready()方法,下表 展示两个事件的异同.    w

DOM0,DOM2,DOM3事件,事件基础知识入门

事件是javascript和HTML交互基础, 任何文档或者浏览器窗口发生的交互, 都要通过绑定事件进行交互; 事件有DOM0, DOM2和DOM3的区分(别问我怎么少了一个DOM1, 也没找到DOM1的信息啊,); DOM0就是直接通过 onclick写在html里面的事件, 比如: <input onclick="alert(1)" /> DOM2是通过addEventListener绑定的事件, 还有IE下的DOM2事件通过attachEvent绑定; DOM3是一些

Node3-3基础API----event(事件触发器)

1.基础(on) // 如果像对象享有事件能力就要集成EventEmitter const EventEmitter = require('events') //集成EventEmitter类 class CustomEvent extends EventEmitter{ } // 实例化对象 const ce = new CustomEvent() //绑定一个事件名 ce.on('test',()=>{ console.log('this is a test'); }) setInterva

JQuery基础修炼-事件篇

目录 第1章 事件介绍 第2章 鼠标事件 第3章 表单事件 第4章 键盘事件 第5章 事件的绑定和解绑 第6章 事件对象的使用 第7章 自定义事件 click与dbclick事件 用交互操作中,最简单直接就是点击操作.jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于监听用户双击操作.这两个方法的用户是类似,下面以click()事件为例 使用上非常简单: 方法一:$ele.click() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件

javaScirpt事件详解-原生事件基础(一)

# 事件 > JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,通过监听特定事件的发生,你能响应相关的操作.**图片引用:UI Events** # 事件流 主要是当时的IE团队提出的事件流逝是事件冒泡流,而Netscape提出的是事件捕获流, 可以使用DOM2级定义的*addEventListener()*方法来处理在冒泡或者捕获阶段调用事件处理程序. ## 事件冒泡 即事件开始时由最具体的元素(文档中嵌套最深的节点)接收,然后逐级

焦点 、event对象、事件冒泡、事件绑定、AJAX知识点备忘

焦点:使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 设置焦点的几种方式: 1.点击 2.TAB键 3.JS onfocus   onblur 属性 var oinp=document.getElementById('shuru') oinp.onfocus=function(){ if(oinp.value=='请输入'){ oinp.value='' } } oinp.onblur=function(){ if(oinp.value==''){ oinp

看懂此文,不再困惑于javascript中的事件绑定、事件冒泡、事件捕获和事件执行顺序

最近一个项目基于3维skyline平台,进行javascript二次开发.对skyline事件的设计真是无语至极,不堪折磨啊!抽空学习了下javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享. (一)事件绑定的几种方式 javascript给DOM绑定事件处理函数总的来说有2种方式:在html文档中绑定.在js代码中绑定.下面的方式1.方式2属于在html中绑定事件,方式3.方式4和方式5属于在js代码中绑定事件,其中方法5是最推荐的做法. 方式1: HTML的DOM元素