惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
L
LangChain Blog
Jina AI
Jina AI
博客园 - 叶小钗
B
Blog RSS Feed
Recent Announcements
Recent Announcements
H
Help Net Security
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
B
Blog
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客

博客园 - 胖在一方

ora-12557(win7 64bit oracle database + 32 bit oracle client) sp2-00027 错误解决 设置双网卡同时访问2个网络(转) oracle pl/sql developer 测试存储过程 日期为 yyyy-mm-dd hh24:mi:ss ASP.NET2.0学习笔记二 - 胖在一方 - 博客园 asp.net2.0学习记录笔记一 ora01991 oracle 更新多字段 Oracle 函数 oracle 9.2.01 wrap 问题 - 胖在一方 安装IE8 asp.net 不能调试 - 胖在一方 combo box 绑定Oracle 数据源显示为 datarowview BT用户,密码中含有@符号 - 胖在一方 - 博客园 .net 访问Oracle的连接字符串 (果然BT) 系统提示"System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本"解决办法 Javascript(二十三) MouseEvent Javascript(二十二)IE与DOM事件的区别 Javascript(二十一)IE与DOM事件的相似性 - 胖在一方 - 博客园 Javascript(二十) 事件对象
JavaScript(十九) Dom Event 二
胖在一方 · 2008-04-24 · via 博客园 - 胖在一方

事件处理函数/监听函数
      用于响应某个事件而调用的函数称为事件处理函数(event handler),或者DOM称为事件监听函数(event listener). 事件处理函数有2种分配方式,在javascript中或者在HTML中.

javascript中分配事件处理函数
    首先要取得处理的对象的引用,然后将函数赋值给对应的事件处理函数属性,例如

            var oDiv = document.getElementById('div1');
            oDiv.onclick
=function
 ()
            {
                alert(
'I was clicked'
);
            }

用这个分配方法,时间处理函数名必须要小写,才能正确响应事件。

HTML分配事件函数
    只要在HTML标签中添加事件处理函数的特性,例如 

<div id="div1" onclick="alert('I was clicked')"/>

    用这中方法,事件处理函数的大小写可以任意.(不过要使用标准的XHTML代码,则事件处理函数需要用小写) 在HTML中分配事件处理函数时,记住特性值中的代码(双引号之间的),是被包装在匿名函数中的,所以HTML代码 实际上是执行了JavaScript代码

            oDiv.onclick= function()
            {
                alert(
'I was clicded'
);
            }

在IE中,每个window对象和每个元素都有两个方法,attachEvent()和detachEvent(). 
    attachEvent()用来给事件附加一个事件处理函数,而detachEvent()用来将事件处理函数分离出来。 每个方法都有2个参数,要分配的事件处理函数的名字(例如:onclick)及一个函数

    attachEvent
       Binds the specified 
function to an event, so that the function
 gets called whenever the event fires on the object
    Syntax
       bSuccess 
=
 object.attachEvent(sEvent, fpNotify)
    Boolean. Returns one of the following possible values:
       
true The function
 was bound successfully to the event. 
       
false The function
 was not bound to the event. 
==================================================================
     detachEvent
        Unbinds the specified 
function from the event, so that the function
 stops receiving notifications when the event fires.

            var fnClick=function()
            {
                alert(
'Clicked'
);
            }
            function
 attachEventDemo()
            {
                
var oDiv= document.getElementById('div1'
);
                
var
 bl;
                bl
=oDiv.attachEvent("onclick",fnClick);  //增加事件处理

                alert(bl);  //显示事件是否添加成功
                
if
 (bl)
                {
                    alert(
'增加事件处理成功'
);                    
                }
            }
            
            
function
 detachEventDemo()
            {
                
var oDiv=document.getElementById('div1'
);
                oDiv.detachEvent(
"onclick",fnClick); //取消事件处理

            }

        <form>
            
<div id="div1">abc</div>
            
<br>
            
<input  type="button" id="butAttach" value="attachEvent" onclick="attachEventDemo()">
            
<input type="button" id="butDetach" value="detachEvent" onclick="detachEventDemo()">
            
        
</form>


对IE的事件处理,事件名要加上"on",例如"onclick",对于DOM事件流,则不需要直接 "click"

    DOM方法 addEventListener() 和 removeEventListener() 用来分配和移除事件处理函数,与IE不同,这些方法 需要三个参数,事件名称,要分配的函数和处理函数的阶段 
    Syntax 
        target.addEventListener(type, listener, useCapture); 
        ------------------------------------------------------------- 
        addEventListener() 
            target.addEventListener(type, listener, useCapture); 
        type 事件名称 
        listener 要分配的函数 
        userCapture 处理函数是用于冒泡阶段还是捕获阶段. 
        要使用这些方法,首先获取要处理的对象的引用,然后分配或删除事件处理函数 此页只能在mozilla上运行 直接给赋值的属性默认是添加到冒泡阶段的. 
        第三个参数,true 为捕获阶段,false为冒泡阶段 
       
 对于IE的事件类型,需要增加 "on" ,比如 onclick,但是对于DOM,则不需要,比如"click" 如果在增加事件处理函数声明在捕获阶段,那么删除的时候也必须是捕获阶段

        var divClick =function()
        {
            alert(
'div click');
        }
        
        
function DivAddEventListener()
        {
            
var div=document.getElementById('myDiv');
             div.addEventListener(
"click",divClick,false);
             alert(
'AddEventListener success');            
        }
        
        
function DivRemoveEventListener()
        {
            
var div=document.getElementById('myDiv');
            div.removeEventListener(
"click",divClick,false);
            alert(
'Remove Event Listener success');
        }

    <div id='myDiv'>abc</div><br>
    
<input type=button onclick="DivAddEventListener()" value="AddEventListener"><br>
    
<input type =button onclick="DivRemoveEventListener()" value ="RemoveEventListener">