2017-05-03 6 views
2

feuert Ich habe einen Knopf mit einer Spannweite innerhalb es. Ich habe ein Klickereignis auf der Schaltfläche und ich habe auch ein Klickereignis in der Spanne, aber in IE11 wird das span-Klickereignis nicht ausgelöst (funktioniert in Chrome/Firefox). Gibt es eine Problemumgehung, ohne von einer Schaltfläche zu einem div zu wechseln?klicken Ereignis auf Kind innerhalb Knopf, der nicht in IE

Ich weiß, dass die Änderung meiner Schaltfläche zu einem Div funktioniert (wie in anderen Fragen beantwortet), ich möchte vermeiden tun, dass.

https://jsfiddle.net/asjo8ox0/2/

$(document) 
 
    .on("click", ".parent", function() { 
 
    alert("parent"); 
 
    }) 
 
    .on("click", ".child", function(e) { 
 
    alert("child"); 
 
    e.stopPropagation(); 
 
    })
.parent { 
 
    width: 200px; 
 
    height: 200px; 
 
    background-color: cornflowerblue; 
 
} 
 

 
.child { 
 
    width: 100px; 
 
    height: 100px; 
 
    background-color: white; 
 
    display: none; 
 
} 
 

 
.parent:hover .child { 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<button class="parent"> 
 
    <span class="child"></span> 
 
</button>

+0

IE-Version auf dem Sie versuchen? –

+0

@NagaSaiA Ich teste dies in IE11, werde dies zu meiner Frage hinzufügen – philr

+0

e existiert nicht in Ihrem Klickereignis ... on ("klick", ".child", funktion (e) { alarm ("Kind"); e.stopPropagation(); }) – serverSentinel

Antwort

0

Um erwartete Ergebnis zu erzielen, fügen Sie unter Meta-Tag

<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
+0

haben bereits dieses Meta-Tag in meinem lokalen Code, scheint nichts zu ändern – philr

+0

, wie es funktioniert in IE Rand, ich habe codepen erstellt - https://codepen.io/nagasai/pen/rmzGVX –

+0

ich benutze IE 11, ich habe gerade den CodePen laufen lassen und mein Problem bleibt bestehen – philr

2

Hatte das gleiche Problem auf einer meiner Websites mit IE und Buttons .. Und Ich hatte eine wirklich lange Nacht, weil wir direkt nach dem Go-Life herausgefunden haben ..: D Wenn Sie d Ist das Eltern-Klick-Ereignis nicht möglich, wird nichts passieren und das Kind-Klick-Ereignis wird nie ausgelöst, wenn Sie auf die Schaltfläche klicken. Es ist ein generelles Problem mit dem IE.

Eine mögliche Lösung: Um das Problem zu vermeiden/zu lösen: Fügen Sie einfach einige Zeilen javascript/jquery hinzu, um herauszufinden, auf welche Koordinaten die Schaltfläche geklickt wurde und wann das Kind war bzw. ist.

1

Ich weiß, dass in der Frage erwähnt wird, dass er eine div als Schaltfläche vermeiden möchte. Aber es ist nicht möglich, es in IE ohne irgendeinen schmutzigen Code zu erreichen. Die beste Lösung wäre, die button in eine div zu ändern.

Hier ist die aktualisierte Geige: https://jsfiddle.net/ovhhdab5/

Verwandte Themen