wahsaga: Event erkennt nicht clipping by Opera

Beitrag lesen

hi,

Wenn ich beim Opera den Bereich fixiere und aus dem sichtbaren Bereich rausgehe, mich aber über dem nichtsichtbaren (durch Clipping) Bereich bewege, dann fängt das Bild die Maus-Klicks weiterhin ab.

ja, das problem kenne ich, ist nicht auf bilder beschränkt, sondern allgemein auf ge-clip-te elemente.

opera scheint clip eher so umzusetzen, dass es das element außerhalb des sichtbaren bereiches eher als "transparent" behandelt - aber halt als immer noch "da", so dass er aus z-index-sicht über anderen elementen liegt, und diese keine klicks mehr empfangen können, nicht gehovert werden, etc.

eindeutig ein bug.

Durch den Script kriege ich aber zB mit, das der Mausklick ausserhalb des Bildes ist, also würde ich den Event gerne an den Originalempfänger schicken.

dazu müsstest du aber erst mal ermitteln, welches element sich an der stelle unter dem bild befindet - das würde m.E. in eine fiese bastelei ausarten.

  • wie kann ich beim Opera verhindern, daß der nichtsichtbare Teil des Bildes den Event abfängt ?

m.E. gar nicht, s.o.
da hilft nur warten, bis opera den bug fixt. (ob er schon gemeldet ist, habe ich damals nicht nachgeschaut, ging nur um eine spielerei, die ich daraufhin wieder verworfen habe. ich gehe aber davon aus, dass der auch schon anderen leuten aufgefallen sein dürfte.)

  • und falls das nicht geht, wie reiche ich den Event weiter ?

anderer vorschlag: verzichte auf clip.

wenn es nur um ein bild geht, sollte sich dieses doch als hintergrundbild eines anderen elementes einsetzen lassen - beispielsweise ein absolut positionierter div mit bestimmten maßen.

wenn du in diesem jetzt die background-position des hintergrundbildes änderst, solltest du einen ähnlichen effekt wie mit clip auf dem bild erreichen können - ohne den störenden nebeneffekt, weil der div nur die events abfangen wird, die auch wirklich auf ihm stattfinden.

wäre das eine für dein vorhaben praktikable alternative?

gruß,
wahsaga

--
"Look, that's why there's rules, understand? So that you _think_ before you break 'em."