2013-03-05 8 views
5

HTMLChrome na Androida nie przestrzegając z-index dla łącza kliknie przykład

<div class="container"> 

    <div class="child"> 
     <a href="http://www.google.com" target="_blank">Google</a> 
    </div> 
</div> 
<a href="http://www.yahoo.com" target="_blank" class="y">Yahoo</a> 

CSS

.container{position: relative;display: block;width: 100px;height: 30px;background: #000;z-index: 7;} 
.child{position: absolute;width: 100px;height: 100px;background: #CCC;padding-top: 30px;z-index:9;top: -999px;} 
.child a{display: block;} 
.container:hover .child{display: block;top: 0;} 
.y{z-index: 6;} 

robocza: http://jsfiddle.net/DemjR/6/

Stworzyłem CSS menu najechania na powyższy przykład (w łączu) i dziwnie nie działa tak jak ma to wyglądać w chrome (v 25.0.13 64.123) na urządzeniach z systemem Android. ale działa poprawnie we wszystkich innych urządzeniach, na których testowałem (iOS, Windows, Mac itd.)

Problem polega na tym, że na Androidzie pojawi się szary div, który ma link (na Androidzie): google.com).

Po kliknięciu na ten link to rzeczywiście wyzwala link tył (yahoo.com) i nie (google.com)

Jest to błąd chrom w urządzeniach z systemem Android?

Dzięki z góry

+0

Testowane na HTC Desire 4,1 Niestandardowe ROM z domyślnej przeglądarki i działa. Jak jednak mamy najechać na urządzenia div? Zadziałało, klikając na mnie. – Bigood

+0

Tak, dotknij elementu div, aby wywołać zdarzenie najechania. –

Odpowiedz

2

Chrome, w tym przypadku jest rodzaj uruchamiania myszy przed kliknięciem!

Oto kolejny skrzypce który pokazuje wydarzenia najechaniu na DIV, a także wydarzenia klikać na linki:

http://fiddle.jshell.net/gnv9n/18/ < - to powinno działać na wszystkich przeglądarce. Używasz tylko przejścia na webkit, ponieważ problem występuje tylko w przeglądarce Chrome.

Po dodaniu przejścia css3 kliknięcie zostanie uruchomione poprawnie! To jest brzydka naprawa, ale działa.

Spróbuj usunąć przejście css i spojrzeć na wydarzenia, jeśli chcesz zobaczyć Chrome failling kliknąć przed „unosić”

Thanks Kinlan zgłaszania problemu do zespołu Chrome!

+0

Świetnie! dzięki za odpowiedź! pozwól mi sprawdzić, czy to działa! –

+0

Ohh To sprytne rozwiązanie! Może będę go używał, dopóki chrome nie naprawi błędu! jeszcze raz dziękuję! :) –

+0

To jest błąd telefonu komórkowego. Problem dotyczy tylko rozwijanego menu css. W menu podręcznym css odnośniki nie są klikalne. Jak stwierdzono w tej odpowiedzi, obejście polega na użyciu przejścia.Możesz przeczytać artykuł przejściowy z menu rozwijanego depp css na tej stronie http://www.greywyvern.com/?post=337 –

0

Chciałem, aby ten komentarz do odpowiedzi Anthony Gatti, ale nie mam wystarczająco dużo reputacji:

lepszym rozwiązaniem niż ustawiony -website-transition-duration jest ustawienie -website-transition-delay.

Przykład: http://fiddle.jshell.net/gnv9n/28/

Powiązane problemy