国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
一. setTimeout
二.contains
Heim Web-Frontend HTML-Tutorial 解決HTML元素的Mouse事件被內(nèi)部元素的干擾_html/css_WEB-ITnose

解決HTML元素的Mouse事件被內(nèi)部元素的干擾_html/css_WEB-ITnose

Jun 24, 2016 am 11:42 AM

有一個DIV元素,其內(nèi)部SPAN元素, 為了實(shí)現(xiàn)一些特殊的效果,我需要利用DIV元素的onmouseover和onmouseout事件,測試時就會發(fā)現(xiàn)如下的狀況:
當(dāng)鼠標(biāo)移入DIV內(nèi)部時,onmouseover事件被觸發(fā);接著再鼠標(biāo)移動到DIV內(nèi)部SPAN元素之上,我們肯定不會認(rèn)為這時鼠標(biāo)已經(jīng)移到了DIV的外邊,但奇怪的是DIV元素的onmouseout事件觸發(fā)了,而且緊接著DIV元素onmouseover事件也馬上被觸發(fā)了。
這可不是我想要的,那么怎么來“屏蔽”內(nèi)部元素給外層元素帶來的Javascript事件干擾呢?
這里列舉兩種方法:

一. setTimeout

因?yàn)樵谑髽?biāo)移動到內(nèi)部元素之上而觸發(fā)了外層元素的onmouseout事件后,外層元素的onmouseover也會馬上觸發(fā),所以我們只需要把外層元素的onmouseout事件需要執(zhí)行的動作延遲很短的一段時間來運(yùn)行,然后在onmouseover事件中再執(zhí)行clearTimeout方法,這樣就可以避免內(nèi)部元素引起的事件干擾。
具體的執(zhí)行過程請看下圖(縱向的虛線表示時間):

這是個很巧妙的的方法,因?yàn)楫?dāng)onmouseout觸發(fā)后,實(shí)質(zhì)性的方法并沒有馬上執(zhí)行,而是要等待一小段時間。如果在這段時間里馬上又觸發(fā)了onmouseover事件,那么基本上就可以肯定onmouseout事件的觸發(fā)是因?yàn)閮?nèi)部元素的干擾了,所以在onmouseover事件中使用clearTimeout來阻止延時的方法執(zhí)行。

二.contains

在onmouseover調(diào)用的方法中加入如下判斷,結(jié)果為假時再執(zhí)行方法體:
if(this.contains(event.fromElement)){return;}

同樣在onmouseout調(diào)用的方法中也加入如下判斷,結(jié)果為假時再執(zhí)行方法體:

if(this.contains(event.toElement)){return;}


下面來解釋一下上面兩行代碼的含義:在IE中,所有的HTML元素都有一個contains方法,它的作用是判斷當(dāng)前元素內(nèi)部是否包含指定的元素。我們利用這個方法來判斷外層元素的事件是不是因?yàn)閮?nèi)部元素而被觸發(fā),如果內(nèi)部元素導(dǎo)致了不需要的事件被觸發(fā),那我們就忽略這個事件。

event.fromElement指向觸發(fā)onmouseover和onmouseout事件時鼠標(biāo)離開的元素;event.toElement指向觸發(fā)onmouseover和onmouseout事件時鼠標(biāo)進(jìn)入的元素。

那么上面兩行代碼的含義就分別是:
當(dāng)觸發(fā)onmouseover事件時,判斷鼠標(biāo)離開的元素是否是當(dāng)前元素的內(nèi)部元素,如果是,忽略此事件;
當(dāng)觸發(fā)onmouseout事件時,判斷鼠標(biāo)進(jìn)入的元素是否是當(dāng)前元素的內(nèi)部元素,如果是,忽略此事件;
這樣,內(nèi)部元素就不會干擾外層元素的onmouseover和onmouseout事件了。

但問題又來了,非IE的瀏覽器并不支持contains函數(shù),不過既然我們已經(jīng)知道了contains函數(shù)的作用,就可以自行添加如下的代碼來為非IE瀏覽器增加contains支持:

if(typeof(HTMLElement) != "undefined"){    HTMLElement.prototype.contains = function(obj)     {             while(obj != null &&  typeof(obj.tagName) != "undefind")             {              if(obj == this)              return true;              Obj = obj.parentNode;          }              return false;       };   }




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

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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.

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)

Hei?e Themen

PHP-Tutorial
1502
276
Konfigurieren von Dokumentmetadaten im HTML -Kopfelement Konfigurieren von Dokumentmetadaten im HTML -Kopfelement Jul 09, 2025 am 02:30 AM

Metadaten in HTMLhead sind entscheidend für das Verhalten von SEO-, Social Sharing und Browser. 1. Setzen Sie den Seitentitel und die Beschreibung, verwenden Sie es und halten Sie es pr?zise und einzigartig. 2. Fügen Sie OpenGraph- und Twitter -Karteninformationen hinzu, um die Auswirkungen auf die soziale Freigabe zu optimieren, auf die Bildgr??e zu achten und Debugging -Tools zum Testen zu verwenden. 3. Definieren Sie die Einstellungen für den Zeichensatz und die Ansichtsfenster, um sicherzustellen, dass die Unterstützung mehrsprachiger Unterstützung an das mobile Terminal angepasst wird. 4. Optionale Tags wie das Urheberrecht des Autors, die Kontrolle der Roboter und die kanonische Verhindern doppelter Inhalte sollten auch vernünftig konfiguriert werden.

Bestes HTML -Tutorial für Anf?nger im Jahr 2025 Bestes HTML -Tutorial für Anf?nger im Jahr 2025 Jul 08, 2025 am 12:25 AM

Tolearnhtmlin2025, ChooseatutororyThatbalancesHands-On-Practionwithmoderit und IntegrateCsSandjavaScriptbasics.1.PrioritizeHands-OnLearningWithStep-by-Stepprojects-?hnlich

HTML für E -Mail -Vorlagen -Tutorial HTML für E -Mail -Vorlagen -Tutorial Jul 10, 2025 pm 02:01 PM

Wie mache ich HTML -Mail -Vorlagen mit guter Kompatibilit?t? Zun?chst müssen Sie eine Struktur mit Tabellen erstellen, um die Verwendung von Div -Flex- oder Netzlayout zu vermeiden. Zweitens müssen alle Stile eingefügt werden und k?nnen sich nicht auf externe CSS verlassen. Dann sollte das Bild mit ALT -Beschreibung hinzugefügt werden und eine ?ffentliche URL verwenden, und die Schaltfl?chen sollten mit einer Tabelle oder TD mit Hintergrundfarbe simuliert werden. Schlie?lich müssen Sie die Details zu mehreren Clients testen und anpassen.

Was sind die am h?ufigsten verwendeten globalen Attribute in HTML? Was sind die am h?ufigsten verwendeten globalen Attribute in HTML? Jul 10, 2025 am 10:58 AM

Klasse, ID, Stil, Daten und Titel sind die am h?ufigsten verwendeten globalen Attribute in HTML. Die Klasse wird verwendet, um einen oder mehrere Klassennamen anzugeben, um die Stileinstellung und JavaScript -Vorg?nge zu erleichtern. ID bietet eindeutige Kennungen für Elemente, die für Anker -Sprünge und JavaScript -Kontrolle geeignet sind. Durch den Stil k?nnen Inline-Stile hinzugefügt werden, geeignet für ein vorübergehendes Debuggen, aber nicht für die Verwendung von gro?em Ma?stab empfohlen. Data-Properties werden verwendet, um benutzerdefinierte Daten zu speichern, was für die Interaktion mit Front-End- und Back-End-Interaktion geeignet ist. Der Titel wird verwendet, um Mausover -Eingaben hinzuzufügen, aber sein Stil und sein Verhalten werden durch den Browser begrenzt. Eine angemessene Auswahl dieser Attribute kann die Entwicklungseffizienz und die Benutzererfahrung verbessern.

Wie kann ich mit Formularen in HTML ohne Server umgehen? Wie kann ich mit Formularen in HTML ohne Server umgehen? Jul 09, 2025 am 01:14 AM

Wenn es keinen Backend-Server gibt, kann die Einreichung von HTML-Formular weiterhin über Front-End-Technologie oder Drittanbieterdienste verarbeitet werden. Zu den spezifischen Methoden geh?ren: 1. JavaScript verwenden, um die Einreichungen von Formulareingaben abzufangen, um die Eingabeüberprüfung und das Benutzerfeedback zu erhalten. Die Daten werden jedoch nicht bestehen. 2. Verwenden Sie serverlose Formulardienste von Drittanbietern wie F?rse, um Daten zu sammeln und E-Mail-Benachrichtigungs- und Umleitungsfunktionen bereitzustellen. 3.. Verwenden Sie LocalStorage, um tempor?re Clientdaten zu speichern, die zum Speichern von Benutzerpr?ferenzen oder zum Verwalten von Anwendungsstatus einseitig geeignet sind, jedoch nicht für die langfristige Speicherung vertraulicher Informationen geeignet sind.

Implementierung des nativen faulen Ladens für Bilder in HTML Implementierung des nativen faulen Ladens für Bilder in HTML Jul 12, 2025 am 12:48 AM

Native Lazy Loading ist eine integrierte Browserfunktion, die das faule Laden von Bildern durch Hinzufügen von Loading = "Lazy" zum Tag hinzufügen kann. 1. Es erfordert keine Bibliotheken von JavaScript oder Drittanbietern und wird direkt in HTML verwendet. 2. Es ist für Bilder geeignet, die nicht auf dem ersten Bildschirm unterhalb der Seite, die Scrolling-Add-Ons und gro?e Bildressourcen angezeigt werden. 3. Es ist nicht für Bilder mit dem ersten Bildschirm oder Display geeignet: keine; 4. Bei der Verwendung sollte ein geeigneter Platzhalter festgelegt werden, um Layout -Jitter zu vermeiden. 5. Es sollte das Laden von Responsive Bild in Kombination mit SRCSet- und Gr??enattributen optimieren. 6. Kompatibilit?tsprobleme müssen berücksichtigt werden. Einige alte Browser unterstützen es nicht. Sie k?nnen durch Merkmalserkennung verwendet und mit JavaScript -L?sungen kombiniert werden.

Wie füge ich ein Video als Hintergrund in HTML hinzu? Wie füge ich ein Video als Hintergrund in HTML hinzu? Jul 08, 2025 am 12:03 AM

Um einer Webseite einen Videohintergrund hinzuzufügen, besteht der Schlüssel darin, HTML -Tags korrekt zu verwenden und relevante Attribute zu optimieren. 1. Verwenden Sie Tags als Hintergrund und verwenden Sie die CSS -Positionierung, um die Seite oder den lokalen Bereich zu füllen. 2. Das Videoformat wird bevorzugt. 3. Fügen Sie ged?mpfte und PlaySInline -Attribute hinzu, um eine automatische Wiedergabe auf der mobilen Seite zu gew?hrleisten. 4. Steuern Sie die Videogr??e, um die Ladegeschwindigkeit zu optimieren, und es wird empfohlen, sie bei zehn MB zu halten. 5. Schleifen hinzufügen, um eine nahtlose Schleifenwiedergabe zu erreichen. 6. Es kann flexibel auf Vollbild- oder Lokalbl?cke angewendet werden, und unterschiedliche Effekte werden durch Anpassen der Beh?ltergr??e und Positionierungsmethode erzielt. Die obigen Schritte k?nnen einen stabilen und sch?nen Videohintergrund erreichen.

Wie mache ich ein reaktionsschnelles Iframe? Wie mache ich ein reaktionsschnelles Iframe? Jul 09, 2025 am 01:39 AM

Um Iframes reagieren zu lassen, besteht der Kern darin, CSS zu verwenden, um das Seitenverh?ltnis zu steuern und ihn mit dem Verpackungsbeh?lter zu kombinieren, um eine Anpassung zu erreichen. 1. Verwenden Sie Polstertechniken, um Containerboxen mit festen Proportionen zu erstellen. H?ufige Verh?ltnisse wie 16: 9 entsprechen Padding-Top56,25%, 4: 3 entsprechen 75%und 1: 1 entsprechen 100%; 2. Stellen Sie die Iframe-Breite auf 100% ein und verwenden Sie die absolute Positionierung, um den Container zu füllen, oder verwenden Sie das Aspektverh?ltnisattribut, um den Anteil beizubehalten. 3. Steuern Sie bei der Verarbeitung von Drittanbietern eingebetteter Inhalte, steuern Sie das Verh?ltnis über Containerverpackung und stellen Sie sicher, dass das zul?ssige Attribut für das zul?ssige Bildschirm hinzugefügt wird, um die Vollbildwiedergabe in mobilen Terminals zu unterstützen. Beherrschen Sie die Einstellungen für Container und Verh?ltnisse, um die Reaktionsf?higkeit des Iframe zu erkennen

See all articles