javascript 中如何调用一般处理程序的方法

 我来答
Prince____Yu
2013-12-17 · TA获得超过3718个赞
知道小有建树答主
回答量:864
采纳率:33%
帮助的人:960万
展开全部

javascript主要有三种处理事件的方法:

1.作为html元素的属性:

<a onclick="alert(123)" id="link">dada</a>

2.作为js对象的属性:

var a = document.getElementById("link");
a.onclick = function(){};

3.给js对象绑定方法:

a.addEventListener('click',function(){});

 

三种方法分析:


方法一:

1.作为元素的属性,那么就把行为和结构捆绑在一起了,违背了行为和结构分离的特点,所以不推荐。

2.作为元素的属性时,属性名应该是“on”+事件名称(点击事件:onclick)。

3.属性值是javascript代码字符串,是函数的主体,而非函数声明。(注意:在js对象属性中,赋值给属性的是函数名fun,这里赋值的是函数调用fun())


方法二:

如果是作为js对象的属性,那么一次只能给一个元素绑定一个事件,如果绑定了多个事件,默认执行最后一次。

   var box = document.getElementById('box');
   box.onclick = dada;//不执行
   box.onclick = dada2;//不执行
   box.onclick = dada3;//执行dada3
    function dada(){
        alert("dada");
    }
    function dada2(){
        alert("dada2");
    }
    function dada3(){
        alert("dada3");
    }


方法三:

如果是给js对象绑定了方法addEventListener,那么可以加多个事件,并且多个事件都会执行。但是这个方法有兼容性问题,在ie8以及以下用:attachEvent。

    var box2 = document.getElementById('box2');
    box2.addEventListener('click',dada,false);//dada
    box2.addEventListener('click',dada2,false);//dada2
    box2.addEventListener('click',dada3,false);//dada3
    function dada(){
        alert("dada");
    }
    function dada2(){
        alert("dada2");
    }
    function dada3(){
        alert("dada3");
    }


具体的细节你可以自己再看一下,同时现在很多框架设计的事件相应比较完善,不存在兼容性和其他一些问题,可以参考jquery的事件绑定方法:a.bind("click",function(){});

追答
谢谢
有问题继续交流
匿名用户
2013-12-23
展开全部
你说的是什么的呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式