JavaScript中事件的绑定

JavaScript中的addEventListener()函数大多数浏览器都可以正常使用,但是却不兼容IE8及其以下的浏览器,所以我们可以自定义一个专门用于绑定事件的函数bind(),无论是什么浏览器,都可以正常使用。

在这个函数中,需要使用到IE专用的attachEvent()函数,需要传递的形参分别是:需要绑定事件的对象,绑定事件的名称,以及回调函数,

function bind(obj, eventStr, callBack) {
            if (obj.addEventListener) {
                eventStr = eventStr.slice(2,eventStr.length);
                obj.addEventListener(eventStr, callBack, false);
            }
            else {
                obj.attachEvent(eventStr,function () {
                    // 更改this为指定的obj
                    callBack.call(obj);
                });
            }
        }

例如:通过这个函数给对象btn绑定一个对象,当点击这个对象时,就会弹出Hello World

	bind(btn, "onclick", function () {
                alert("Hello World");
	 });

原文地址:https://www.cnblogs.com/TomHe789/p/12694318.html

时间: 2024-10-22 14:49:23

JavaScript中事件的绑定的相关文章

JavaScript中事件回顾

事件其实在第一次学习JavaScript的时候就接触了,一行非常简单的代码 alert('Hello JavaScript!!!')就诠释了什么是事件.事件是什么呢?事件在基于浏览器编程的语言JavaScript中是一个非常非常重要的方法,遍地都是这种语法.什么是事件呢?在JavaScript中事件可以理解为发生的一件事情,事件这个对象记录了这个过程中所有的数据. 1.事件的兼容性处理 准所周知,现在很多浏览器中分为标准浏览器阵营Chrome.FireFox等,非标准浏览器就是IE为代表了,在写

关于JavaScript中事件的一些重要说明

1,JavaScript异步回调 <script language="javascript"> //注册回调函数loaded到处理函数window.onload上 window.onload = loaded; //把方法window.alert地址传递给show函数 var show = window.alert; function loaded(){ show("success"); } </script> 2,事件对象 下面的js实现当

javascript中事件概述

事件就是用户或浏览器自身执行的某种动作.诸如click.load.和mouseover,都是事件的名字.而响应某个事件的函数就叫做事件处理程序(或事件侦听器).事件处理程序的名字以"on"开头,因此click事件的事件处理程序就是onclick,load事件的事件处理程序就是onload. 以下是跨浏览器的javascript中事件的相关方法 1 //跨浏览器的方法 2 var EventUtil={ 3 /* 4 与addHandler()对应的方法是removeHandler(),

jquery中事件重复绑定以及解绑问题

一般的情况下,对于这种情况,我们常规的思路是,先解绑,再绑定,如下: $(selector).unbind('click').bind('click',function(){....}); 当这样会有一个问题,unbind会把其之前的所有的click事件都unbind掉,可能会影响其他的绑定,有如下有两种方法解决: 第一种: 使用事件命令空间,来唯一标识这个click的绑定,这样在解绑是不会将其他click绑定的事件也给解绑. $(selector).unbind('click.selector

JavaScript中事件绑定的方法总结

最近收集了一些关于JavaScript绑定事件的方法,汇总了一下,不全面,但是,希望便于以后自己查看. JavaScript中绑定事件的方法主要有三种: 1 在DOM元素中直接绑定 2 JavaScript代码中直接绑定 3 绑定事件监听函数 一.在DOM元素中直接绑定 也就是直接在html标签中通过 onXXX=“” 来绑定.举个例子: <input type="button" value="点我呦" onclick="alert("he

javascript中this的绑定

JavaScript中this有很多种绑定方式,最近学习过程中总结了一下,有默认绑定.隐式绑定.显示绑定.强制绑定.实例绑定. 接下来我们看看: 默认绑定: 代码如下: function foo() { console.log( this.a ); } var a = 3; foo(); // 3 全局作用域下this默认指定到window,默认绑定即调用位置如何决定 this 的绑定对象. 隐式绑定: function foo() { console.log( this.a ); } var

JavaScript中事件委托(事件代理)详解

在JavaScript的事件中,存在事件委托(事件代理),那么什么是事件委托呢? 事件委托在生活中的例子: 有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三个人在公司门口等快递:二是委托给前台MM代为签收.现实当中,我们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递).前台MM收到快递后,她会判断收件人是谁,然后按照收件人的要求签收,甚至代为付款.这种方案还有一个优势,那就是即使公司里来了新员工(不管多少),前台MM也会在收到寄给新员工的快递后核实并代为签收. 事

javascript中事件timer

<!DOCTYPE html> <html> <head> <title>javascript中的事件处理</title> <meta charset="UTF-8"> <script type="text/javascript"> var timeId; function cd(){ //在3秒之后执行bigger函数setTimeOut的意思就是间隔一段时间来执行某个函数 //s

JavaScript中事件

JS中的事件 一.事件分类: 鼠标事件:鼠标单击.鼠标双击.鼠标指上等... HTML事件:文档加载.焦点.表单提交等... 键盘事件:键盘按下(keydown).键盘按下并松开瞬间(keypress).键盘抬起(keyup) 今天主要给大家分享一下键盘事件?? 1.注意事项: ①执行顺序:keydown->keypress->keyup ②当长按时,会循环执行keydown->keypress ③有keydown并不一定有keyup,当事件触发过程中,鼠标将光标移走,将导致没有keyu