Utilizzo Polymer 1.0 e quando viene fatto clic su un pulsante in Chrome viene generato un valore MouseEvent
. Questo oggetto MouseEvent
ha una proprietà path
che è una matrice ordinata di elementi padre per il pulsante su cui si fa clic. In Firefox & Safari, tuttavia, viene generato uno click
che non ha una proprietà path
. Esiste una proprietà equivalente dell'oggetto click
che mi dà le stesse informazioni?MouseEvent.path equivalente in Firefox e Safari
9
A
risposta
24
Non è disponibile, ma se davvero desidera avere questa proprietà, allora si potrebbe estendere il prototipo originario dell'oggetto evento in questo modo:
if (!("path" in Event.prototype))
Object.defineProperty(Event.prototype, "path", {
get: function() {
var path = [];
var currentElem = this.target;
while (currentElem) {
path.push(currentElem);
currentElem = currentElem.parentElement;
}
if (path.indexOf(window) === -1 && path.indexOf(document) === -1)
path.push(document);
if (path.indexOf(window) === -1)
path.push(window);
return path;
}
});
Tuttavia, se fossi in te, non lo farei estendere il prototipo - vorrei creare una funzione come menzionato sopra invece.
Inoltre, cambierei Event.prototype in MouseEvent.prototype se si desidera coprire solo quei tipi di eventi.
Problemi correlati
- 1. equivalente console.memory in Firefox?
- 2. CSS3 ruota - problemi di rendering in Firefox e Safari
- 3. Angular $ location.path() e window.location.reload non funzionano in Safari/Firefox
- 4. data() ritorno data non valida in Safari e Firefox
- 5. -webkit-font-smoothing: equivalente antialiasing in firefox?
- 6. Esiste un equivalente XDomainRequest in Firefox?
- 7. Problemi di compatibilità con css3 flexbox con Firefox e Safari
- 8. typekit: non riuscito su Firefox, lavorato su Chrome e Safari
- 9. jQuery: contains() funziona in Firefox ma non in Chrome/Safari
- 10. Incoerenza di base nei caratteri tra Firefox/Mac e Safari/Mac o Firefox/Win
- 11. Javascript funziona in Safari ma non Chrome o Firefox
- 12. E2E Test in goniometro usando Firefox o Safari?
- 13. safari e gzip
- 14. Converti estensione Google Chrome in estensione Firefox o Safari
- 15. Listener di eventi - Equivalente per Firefox?
- 16. Ridimensionamento della qualità dell'immagine scarso in IE 11 - Fine in Firefox, Chrome, Opera e Safari
- 17. Testo Corsa e Ombra CSS3 in Firefox
- 18. Disabilita cache applicazioni in Chrome e Safari
- 19. Il bordo della riga tabella non funziona in Firefox e Safari
- 20. Sfarfallio di transizione CSS con:: visitato in Safari, Chrome e Firefox, ma non Opera
- 21. Firefox, Chrome, Safari hanno sfondo grigio per video HTML5 MP4
- 22. jQuery e animazioni CSS Choppy in Firefox
- 23. Perché jQuery non scarica in Chrome e Safari?
- 24. Porting estensione Chrome a Firefox: equivalente a chrome.storage
- 25. Equivalente di Chrome di Firefox Firebug Percorso di selezione CSS
- 26. getComputedStyle che segnala altezze diverse tra Chrome/Safari/Firefox e IE11
- 27. WebKit equivalente a Firefox "moz-chunked-arraybuffer" xhr responseType
- 28. L'app Angular2 funziona con Chrome e IE, ma non con Firefox o Safari
- 29. Gradiente lineare nei browser Chrome e Safari
- 30. IE8 su Localhost molto lento - Firefox, Opera, Chrome e Safari sono tutti veloci sullo stesso - perché?
Awesomesauce. Non è esattamente la risposta che stavo cercando, ma risolve perfettamente il mio problema. – wogsland
Per curiosità, @wogsland, quale risposta o tipo di risposta, speravi? –
Ho pensato che ci sarebbe stata una proprietà equivalente nell'oggetto creato in Firefox il cui nome non avevo ancora indovinato. – wogsland