Questo non è l'affare. Internet Explorer crea i filtri su un livello separato posizionato sopra il tuo elemento e poiché il nuovo livello grafico non fa parte dell'elemento - su cui hai attivato l'evento click - non ci saranno bubbling di eventi.
Recentemente ho creato un elemento etichetta con un filtro gradiente piacevole per IE. Solo il testo può essere cliccato. Se analizzo i livelli dell'etichetta dal lato con e senza il livello del gradiente, allora capirai il problema.
without gradient filter:
------------------
text layer
------------------
background layer
------------------
with gradient filter:
------------------
text layer
------------------
gradient layer
------------------
background layer
------------------
A proposito, questo è il motivo, perché non è possibile inserire un raggio di confine su un filtro sfumato troppo. Provalo. Crea un elemento e definiscilo con il raggio del bordo e assegnagli un filtro sfumato ed eseguilo in IE 9. Indipendentemente da come provi a forzare il gradiente a rimanere all'interno dei bordi arrotondati - con ad esempio l'overflow: nascosto -, non lo farà mai obbedire. È come un elemento separato che è posizionato in modo assoluto e proprio sopra l'elemento per coprirlo e proprio sotto il testo.
fonte
2012-12-07 16:41:45
Spero che tu sappia che i filtri IE DX utilizzano #AARRGGBB anziché #RRGGBBAA? –
Sì, sì. E l'effetto trasparente funziona bene. Il problema è che l'evento click non può essere attivato dopo aver applicato il filtro – bububut
Bene, stavo solo facendo in modo di averlo fatto. (Mi ha sorpreso inconsapevolmente la prima volta che l'ho incontrato.) Suppongo che se avessi prestato la giusta attenzione alla forma della tua domanda avrei visto cosa stavi facendo. Ho pensato esattamente la stessa tecnica un paio di giorni fa ... un problema interessante che hai trovato con esso che potrebbe farmi risparmiare tempo più tardi se lo uso! –