javascript事件的绑定基础实例讲解(34)
更新时间:2017年02月14日 16:34:14 作者:厚积薄发2017
这篇文章主要为大家详细介绍了javascript事件的绑定基础实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了js事件绑定的具体代码,供大家参考,具体内容如下
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
window.onload = function(){
var btn01 = document.getElementById("btn01");
//为按钮绑定一个单击响应函数
/*btn01.onclick = function(){
alert(1);
};
//再为按钮绑定一个单击响应函数
btn01.onclick = function(){
alert(2);
};*/
/*
* 使用 对象.事件 的形式不能同时为一个元素的同一个事件绑定多个处理函数,
* 如果绑定了多个,则后边的会将前边的覆盖掉
*
* 如果需要同时为一个事件绑定多个响应函数,则可以使用
* addEventListener()这个方法来绑定响应函数
* 参数:
* 1.要绑定的事件(字符串 不要on)
* 2.回调函数(事件触发时,该函数将会执行)
* 3.是否在捕获阶段触发事件(都传false)
*
* 使用这种方式可以同时为一个事件绑定多个响应函数,
* 响应函数按照绑定的顺序执行
*
* 该方法不支持IE8及以下的浏览器
* 在这些浏览器中需要使用 attachEvent()方法来实现相同的功能
*/
/*btn01.addEventListener("click",function(){
alert(1);
},false);
btn01.addEventListener("click",function(){
alert(2);
},false);
btn01.addEventListener("click",function(){
alert(3);
},false);*/
/*
* attachEvent()
* - 参数:
* 1.事件的类型(字符串 要on)
* 2.回调函数
*
* attachEvent()
* - 可以同时为一个事件绑定多个响应函数,但是它的执行顺序不一定
* ie9 ie10 先绑定先执行
* ie8 后绑定先执行
*
* 这个方法只支持IE10及以下的浏览器
*/
/*btn01.attachEvent("onclick" , function(){
alert(1);
});*/
/*btn01.attachEvent("onclick" , function(){
alert(2);
});
btn01.attachEvent("onclick" , function(){
alert(3);
});*/
/*
* 在正常浏览器中使用addEventListener()来绑定
* 它的响应函数中的this就是绑定事件的对象
* 而在IE中,使用的是attachEvent()来绑定的事件
* 而它的响应函数中的this是window
*/
bind(btn01 , "click" , function(){
alert(this);
});
};
/*
* 自定义一个函数,来兼容所有的浏览器
* 参数:
* obj 要绑定事件的对象
* eventStr 事件的字符串,不要on
* callback 回调函数,事件触发时调用的函数
*/
function bind(obj , eventStr , callback){
if(obj.addEventListener){
//如果是正常浏览器
obj.addEventListener(eventStr , callback , false);
}else{
//IE8
/*
* attachEvent()中的回调函数的this是window,需要修改为obj
* this是谁由函数的调用方式决定
* 1.以函数的形式调用,this是window
* 2.以方法的形式调用,this是调用方法的对象
* 3.以构造函数的形式调用,this是新创建的对象
* 4.使用call和apply调用时,this是第一个参数
*/
obj.attachEvent("on"+eventStr , function(){
//在attchEvent()中不传递callback而是传递一个匿名函数
//这样在事件触发时,浏览器不会调用callback而是调用匿名函数
//在匿名函数中来调用回调函数
callback.call(obj);
});
}
}
</script>
</head>
<body>
<button id="btn01">点我一下</button>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
window.showModalDialog() 后 window.open() 导致cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失2009-06-06
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用(JS数组过滤器的使用示例)
文章介绍了array.filter()方法的使用和技巧,强调了其在数据筛选、数据清洗和链式调用中的优势,本文介绍JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解,感兴趣的朋友一起看看吧2024-11-11
JS中通过slice()&substring()截取字符串前几位的方法
在Javascript使用字符串中,我们不一定需要全部的字符串,这时就需要截取字符串,本文主要介绍js中截取字符串前几位的两种方法:1、使用slice() 方法;2、使用substring() 方法,本文通过示例代码介绍的非常详细,需要的朋友参考下吧2023-12-12


最新评论