首页 体育世界正文

上海第二工业大学,Javascript事情处理程序(DOM事情处理程序),wolf

Javascript工作处理程序(DO向过去借种M工作处理程序)

经过 JavaScript 指定工作处理程序的传统办法,便是将一个函数赋值给一个工作处理程序特点。这 种为工作处理程序赋值的办法是在第四代 Web 浏览器中呈现的,并且至今依然为一切现代浏览器所支 持。原因一是简略,二是具有跨浏览器的优势。要运用 JavaScript 指定工作处理程序,首要有必要获得一 上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolf个要操作的方针的引证。

DOM工作处理程序一

每个元素(包括 window 和 documen玫琳凯之窗苹果手机版t)都有自己的工作处理程序特点,这些特点一般悉数小写, 例如 onclick。将这种特点的值设置为一个函数,就能够指定工作处理程序,如下所示:

var btn = docume乐乎ptnt.getElemen闻继霞tById("myBtn");

btn.onclick = function(){

alert("Clicked");

};

在此,咱们经过文档方针获得了一个按钮的引证,然后为它指定了 onclick 工作处理程序。但要留意,在这些代码运转曾经不会指定工作处理程序,因而假如这些代码在页面中坐落按钮后边,就有可能在一段时间内怎样单击都没有反响。

这种办法指定的工作处理程序被认为是元素的办法。因而,这时分的工作处理程序是在元素的效果域中运转;换句话说,程序中的 this 引证当时元素。

var btn = document.getElementById("myBtn");

btn.onclick = function(){

alert(this.id); //"myBtn"

};

单击按钮显现的是元素的 ID,这个 ID 是经过 this.id 获得的。不仅仅是 ID,实际上能够在工作 处理程序中经过 this 拜访元素的任何特点和办法。以这种办法增加的工作处理程序会在工作流的冒泡阶段被处理。

要删去指定的工作处理程序,只需像下面这样将工作处理程序特点的值设置为 null 即可:

btn.onc体位引流lick = null; //删去工作处理程序

将工作处理程序设置为 nu周芷兰ll 之后,再单击按钮将不会有任何动作发作 。

DOM级工作处理程序二 (工作监听)

用于处理指定和删去工作处理程序的上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolf操作:addEventListener() 和 removeEventListener()。

一切 DOM夏晓沐 节点中都包括这两个办法,并且它们都承受 3 个参数:要处理亚洲热的事谷饶镇水灾件名作为工作处理程序的函数一个布尔值。最终这个布尔值参数假如是 true,表明在捕获阶段调用工作处理程序;假如是 false,表明在冒泡阶段调用工作处理程序。

在按钮上为click工作增加工作处理程序。

var btn = document.getElementById("myBtn");

btn.addEventListener("click", function(){

alert(this.id);

}, false);

上面三浦折叠法的代码为一个b水按钮增加了 onclick 工作处理程序,并且该工作会在冒泡阶段被触发(最终一个参数是 false)。这儿增加的工作处理程序也是在其依靠的元素的效果域 中运转韩升延。运用工作监听办法增加工作处理程序的首要优点是能够增加多个工作处理程序。

v上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolfar btn = document.getElementById("myBtn");

btn.addEventListener("click", function(){

alert(this.id);

}, false);

btn.addEve上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolfntListener("click", function(){

alert("Hello world!");

}, false);

为按钮增加了两个工作处理程序。这两个工作处理程序会依照增加它们的次序触发,因而首要 会显现元素的 ID,其次会显现"Hello world!"音讯。

经过 addEventListener()增加的工作处理程序只能运用 removeEventListener()来移除;移除时传入的参数与增加处理程序时运用的参数相同。这也意味着经过 addEventListener()上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolf增加的匿名函数将无法移除

var btn = document.getElementById("myBtn");

b好妹妹图片tn.addEventListener("click", function(){

alert(this唐聿劼.id);

}, false);

btn.removeEventListener("click", func上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolftion(){ //没有用! alert(this.id);上海第二工业大学,Javascript工作处理程序(DOM工作处理程序),wolf

}, false);

在这个比如中,咱们运用 addEventListener()增加了一个工作处理程序。尽管调用 remove- EventListener()时看似运用了相同的参数,但实际上,第二个参数与传入 addEventListener()中 的那一夏少雄个是彻底不同的函数。而传入 removeEventListener()中的工作处理程序函数有必要与传入 addEventListener()中的相同。

var btn = document.getElementById("myBtn");

var handler = function()泰安东平气候{

alert(this.id);

};

btn.addEventListener("click", handler, false);

//这儿省掉了其他代码

btn.removeEventListener("click", handl萝莉圣片er, false); //能够移除

这样写是没有问题的,由于在 addEventListener()和 removeEventListene奎木狼下凡变成了谁r()中使 用了相同的函数。

大多数情况下,都是将工作处理程序增加到工作流的冒泡阶段,这样能够最大极限地兼容各种浏览器。最好只在需要在工作抵达方针之前截获它的时分将工作处理程序增加到林满棠捕获阶段。假如不是特别需 要,咱们不主张在工作捕获阶段注册工作处理程序。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。