Im Experimentieren mit Chrome-Erweiterungen und ich fand ein seltsames Verhalten von Popup-Fenster.Chrome-Erweiterungen - warum klicken Ereignis im Popup Popup-HTML aktualisieren?
In popup.html ist ein Element <a id="grantexpert">...</a>
und in popup.js möchte ich die Hintergrundfarbe dieses Elements ändern, wenn Sie darauf klicken. Die Änderung der Farbe funktioniert, wenn sie unmittelbar nach der Fertigstellung des Dokuments geändert wird. Aber wenn in Click-Ereignis, wird die Farbe für eine sehr kurze Zeit (nur ein Blinzeln) geändert, wenn geklickt und dann sofort zu den ursprünglichen Einstellungen zurückgegeben wird. Es sieht so aus, als ob das Popup-Fenster nach dem Klick-Ereignis erneut geladen wird.
Manifest:
"browser_action": {
"default_popup": "popup/popup.html"
},
popup.html:
<!DOCTYPE html>
<head>
<script src='../other/jquery-3.1.1.min.js'></script>
<script src='popup.js'></script>
</head>
<body style="width:250px;">
<a class="testitem" href id="grantexpert">grantexpert.sk</a>
</body>
</html>
popup.js:
(function($) {
$(document).ready(function() {
//$("#grantexpert").css('font-size', '28px'); - this works
// this does not work
$('#grantexpert').click(function() {
$(this).css('font-size', '28px');
});
});
})(jQuery);
Warum funktioniert das Element Ändern Sie die Farbe für einen Blinzler, behält aber die angepassten Eigenschaften nach dem Klickereignis nicht bei und setzt sie zurück?
Jetzt funktioniert es, aber ich verstehe nicht warum. – Incredible
Beachte, dass 'href' das Popup aktualisiert hat. – Syden