Heim Web-Frontend js-Tutorial javascript 事件处理程序介绍_javascript技巧

javascript 事件处理程序介绍_javascript技巧

May 16, 2016 pm 05:52 PM
事件处理

1、DOM0级事件处理程序
将一个函数值给一个事件处理程序属性。
例如:
复制代码 代码如下:

var btn = document.getElementById("myBtn");
btn.onclick = funtion(){
alert(this.id); //"myBtn"
}

删除事件,btn.onclick = null;
--------------------------------------------------------------------------------
2、DOM2级事件处理程序
先介绍,“DOM2级事件”定义的两个方法,用于处理指定和删除事件处理程序的操作:
addEventListener()
removeEventListener()
所有DOM节点都包含这两个方法,接受3个参数:处理事件名、作为事件处理程序的函数、一个布尔值。
最后的布尔值参数,true:表示在捕获阶段调用事件处理程序;false:表示在冒泡阶段调用事件处理程序。
复制代码 代码如下:

var btn = document.getElementById("myBtn");
btn.addEventListener("click",funciton(){
alert(this.id);
},false);

用DOM2级方法添加事件处理程序主要的好处是可以添加多个事件处理程序。
例如:
复制代码 代码如下:

var btn = document.getElementById("myBtn");
btn.addEventListener("click",funciton(){
alert(this.id);
},false);
btn.addEventListener("click",funciton(){
alert(“Hello World!”);
},false);

这两个事件会按照顺序触发。
通过 addEventListener()添加的事件只能用removeEventListener()移除。移除时传入的参数需与添加时的参数一致,也就是说匿名函数将无法移除。
复制代码 代码如下:

var btn = document.getElementById("myBtn");
var handler = function(){
alert(this.id);
};
btn.addEventListener("click" , handler , false);
btn.removeEventListener("click", handler , false);

大多数情况下,都是将事件处理程序添加到事件流的冒泡阶段,以便兼容各种浏览器。
firefox、safari、chrome、opera支持DOM2级事件处理程序。
--------------------------------------------------------------------------------
3、IE事件处理程序
IE实现了与DOM中类似的两个方法:
attachEvent()
detachEvent()
这两个方法都接受两个参数:事件处理程序名称和事件处理程序函数。
由于IE只支持时间冒泡,所以通过attachEvent() 添加的事件处理程序都会被添加到冒泡阶段。
例如:
复制代码 代码如下:

var btn = document.getElementById("myBtn");
btn.attachEvent("onclick" , function(){
alert("Clicked");
})

注意,attachEvent()的第一个参数是“onclick”,而非 “click”。
IE的attachEvent()与DOM0的addEventListener()的主要区别是事件处理程序的作用域。
DOM0级方法,事件处理程序会在所属元素的作用域内运行;
attachEvent()方法,事件处理程序会在全局作用域中运行,因此 this等于 window。
attachEvent()也可以为一个元素添加多个事件处理程序。
复制代码 代码如下:

var btn = document.getElementById("myBtn");
btn.attachEvent(”onclick“ , function(){
alert("clicked");
})
btn.attachEvent(”onclick“ , function(){
alert("Hello World!");
})

与DOM方法不同的是,这些事件处理程序不是以添加顺序执行,而是以相反的方向执行。
detachEvent() 的用法与removeEventListener()的用法一样。
--------------------------------------------------------------------------------
4、跨浏览器的事件处理程序
复制代码 代码如下:

var EventUtil = {
addHandler : function(element, type , handler){
if (element.addEventListener){
element.addEventListener(type, handler, false);
} else if ( element.attachEvent){
element.attachEvent("on" + type , handler)
} else {
element["on" + type] = handler;
}
},
removeHandler: function( element , type , handler){
if ( element.removeElementListener) {
element.removeElementListener( type , handler , flase);
} else if ( element.detachEvent) {
element.detachEvent ( "on" + type , handler)
} else {
element["on" + type] = handler;
}
}
}
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Python-GUI-Programmierung: Beginnen Sie schnell und erstellen Sie einfach interaktive Schnittstellen Python-GUI-Programmierung: Beginnen Sie schnell und erstellen Sie einfach interaktive Schnittstellen Feb 19, 2024 pm 01:24 PM

Eine kurze Einführung in die Python-GUI-Programmierung. GUI (Graphical User Interface, grafische Benutzeroberfläche) ist eine Möglichkeit, Benutzern die grafische Interaktion mit Computern zu ermöglichen. Unter GUI-Programmierung versteht man die Verwendung von Programmiersprachen zur Erstellung grafischer Benutzeroberflächen. Python ist eine beliebte Programmiersprache, die eine umfangreiche GUI-Bibliothek bietet und die Python-GUI-Programmierung sehr einfach macht. Einführung in die Python-GUI-Bibliothek Es gibt viele GUI-Bibliotheken in Python, von denen die am häufigsten verwendeten sind: Tkinter: Tkinter ist die GUI-Bibliothek, die mit der Python-Standardbibliothek geliefert wird. Sie ist einfach und benutzerfreundlich, verfügt jedoch über begrenzte Funktionen. PyQt: PyQt ist eine plattformübergreifende GUI-Bibliothek mit leistungsstarken Funktionen.

Wie verwalte ich eine vollständige kreisförmige Ereigniswarteschlange in C++? Wie verwalte ich eine vollständige kreisförmige Ereigniswarteschlange in C++? Sep 04, 2023 pm 06:41 PM

Einführung CircularQueue ist eine Verbesserung linearer Warteschlangen, die eingeführt wurde, um das Problem der Speicherverschwendung in linearen Warteschlangen zu lösen. Zirkuläre Warteschlangen nutzen das FIFO-Prinzip, um Elemente daraus einzufügen und daraus zu löschen. In diesem Tutorial besprechen wir den Betrieb einer zirkulären Warteschlange und deren Verwaltung. Was ist eine kreisförmige Warteschlange? Eine kreisförmige Warteschlange ist eine andere Art von Warteschlange in der Datenstruktur, bei der das Front-End und das Back-End miteinander verbunden sind. Er wird auch als Ringpuffer bezeichnet. Sie funktioniert ähnlich wie eine lineare Warteschlange. Warum müssen wir also eine neue Warteschlange in die Datenstruktur einführen? Wenn Sie eine lineare Warteschlange verwenden und die Warteschlange ihr maximales Limit erreicht, ist möglicherweise etwas Speicherplatz vor dem Endzeiger vorhanden. Dies führt zu Speicherverlust und ein guter Algorithmus sollte in der Lage sein, die Ressourcen voll auszunutzen. Um die Speicherverschwendung zu lösen

Ereignisverarbeitungsbibliothek in PHP8.0: Ereignis Ereignisverarbeitungsbibliothek in PHP8.0: Ereignis May 14, 2023 pm 05:40 PM

Ereignisverarbeitungsbibliothek in PHP8.0: Ereignis Mit der kontinuierlichen Entwicklung des Internets wird PHP als beliebte Back-End-Programmiersprache häufig bei der Entwicklung verschiedener Webanwendungen verwendet. In diesem Prozess ist der ereignisgesteuerte Mechanismus zu einem sehr wichtigen Teil geworden. Die Ereignisverarbeitungsbibliothek Event in PHP8.0 bietet uns eine effizientere und flexiblere Ereignisverarbeitungsmethode. Was ist Event-Handling? Event-Handling ist ein sehr wichtiges Konzept bei der Entwicklung von Webanwendungen. Ereignisse können jede Art von Benutzerzeile sein

Was bedeuten sprudelnde Ereignisse? Was bedeuten sprudelnde Ereignisse? Feb 19, 2024 am 11:53 AM

Bubbling-Ereignisse bedeuten, dass in der Webentwicklung ein Ereignis, das für ein Element ausgelöst wird, an die oberen Elemente weitergegeben wird, bis es das Dokumentstammelement erreicht. Diese Ausbreitungsmethode ähnelt einer Blase, die allmählich vom Boden aufsteigt, und wird daher als Blasenereignis bezeichnet. In der tatsächlichen Entwicklung ist es sehr wichtig zu wissen und zu verstehen, wie Bubbling-Ereignisse funktionieren, um Ereignisse richtig zu handhaben. Im Folgenden werden das Konzept und die Verwendung von Bubbling-Ereignissen anhand spezifischer Codebeispiele ausführlich vorgestellt. Zuerst erstellen wir eine einfache HTML-Seite mit einem übergeordneten Element und drei untergeordneten Elementen

Verwendung von $listeners zur Übergabe von Ereignisbehandlungsfunktionen in Vue Verwendung von $listeners zur Übergabe von Ereignisbehandlungsfunktionen in Vue Jun 11, 2023 pm 03:09 PM

In Vue gibt es häufig einige verschachtelte Komponenten, und zwischen diesen verschachtelten Komponenten müssen Ereignisse übergeben werden. In Vue wird das $emit-Ereignis für die Ereigniskommunikation zwischen Komponenten verwendet. In einigen Fällen müssen wir jedoch den Ereignishandler einer übergeordneten Komponente an eine verschachtelte untergeordnete Komponente übergeben. In diesem Fall ist die Verwendung des Ereignisses $emit nicht geeignet. Zu diesem Zeitpunkt können Sie die von Vue bereitgestellten $listeners verwenden, um die Ereignisverarbeitungsfunktion zu übergeben. Was sind also $listener?

Analyse der v-on-Direktive in Vue: Umgang mit Formularübermittlungsereignissen Analyse der v-on-Direktive in Vue: Umgang mit Formularübermittlungsereignissen Sep 15, 2023 am 09:12 AM

Analyse der v-on-Direktive in Vue: Umgang mit Formularübermittlungsereignissen In Vue.js wird die v-on-Direktive zum Binden von Ereignis-Listenern verwendet und kann verschiedene DOM-Ereignisse erfassen und verarbeiten. Unter diesen ist die Verarbeitung von Formularübermittlungsereignissen einer der häufigsten Vorgänge in Vue. In diesem Artikel wird erläutert, wie Sie mit der v-on-Direktive Formularübermittlungsereignisse verarbeiten, und es werden spezifische Codebeispiele bereitgestellt. Zunächst muss klargestellt werden, dass sich das Formularübermittlungsereignis in Vue auf das Ereignis bezieht, das ausgelöst wird, wenn der Benutzer auf die Schaltfläche „Senden“ klickt oder die Eingabetaste drückt. In Vue können Sie bestehen

Eingehende Untersuchung der Schlüsselcode-Implementierung von PHP und Vue in der Brain-Map-Funktion Eingehende Untersuchung der Schlüsselcode-Implementierung von PHP und Vue in der Brain-Map-Funktion Aug 27, 2023 pm 12:15 PM

Eingehende Untersuchung der Schlüsselcode-Implementierung von PHP und Vue in der Brain-Map-Funktion Zusammenfassung: In diesem Artikel wird die Schlüsselcode-Implementierung von PHP und Vue in der Brain-Map-Funktion eingehend untersucht. Brain Mapping ist ein grafisches Werkzeug, das häufig zur Darstellung von Denkstrukturen und Beziehungen verwendet wird. Es wird häufig in Bereichen wie Projektplanung, Wissensmanagement und Informationsorganisation eingesetzt. Durch das Erlernen der relevanten PHP- und Vue-Kenntnisse können wir eine einfache, aber leistungsstarke Brain-Mapping-Anwendung implementieren. Verstehen Sie PHPPHP ist eine häufig verwendete serverseitige Skriptsprache. Es ist leicht zu erlernen und hoch skalierbar

Praktische Anwendungen von Event-Bubbling und anwendbare Event-Typen Praktische Anwendungen von Event-Bubbling und anwendbare Event-Typen Feb 18, 2024 pm 04:19 PM

Anwendungsszenarien für Event-Bubbling und die von ihm unterstützten Ereignistypen. Event-Bubbling bedeutet, dass, wenn ein Ereignis für ein Element ausgelöst wird, das Ereignis an das übergeordnete Element des Elements und dann an das Vorgängerelement des Elements weitergeleitet wird wird an den Wurzelknoten des Dokuments übergeben. Es ist ein wichtiger Mechanismus des Ereignismodells und hat ein breites Spektrum an Anwendungsszenarien. In diesem Artikel werden die Anwendungsszenarien des Event-Bubbling vorgestellt und die unterstützten Ereignistypen untersucht. 1. Anwendungsszenarien Event-Bubbling hat eine breite Palette von Anwendungsszenarien in der Webentwicklung. Hier sind einige gängige Anwendungsszenarien. Formularvalidierung im Formular

See all articles