Je fais un plugin JS/PHP pour la distribution. Je veux que ce soit aussi facile à installer que ceci:
<HTML>
<HEAD>
<TITLE>Testing my Plugin</TITLE>
<?php
include 'path/to/myPlugin.php';
echo getMyPluginHeadContent();
?>
</HEAD>
<BODY>
<?php
echo getMyPluginContent("Arguments will go here");
?>
</BODY>
</HTML>
Cependant, je veux que ce plugin attache un écouteur de redimensionnement de fenêtre sans écrasant window.onresize
, Au cas où il y aurait d'autres scripts qui nécessitent également l'utilisation de cette méthode. Existe-t-il une commande javascript comme document.addEventListener("resize", myResizeMethod, true);
? Je sais que ce n'est pas ça, car cela ne fonctionne pas, et le MDN et le W3C sont très vagues sur les arguments que addEventListener
prend .
Je ne veux pas de réponse me disant d'utiliser window.onresize = myResizeMethod
Ou <BODY ONRESIZE="myResizeMethod">
, Car ils ne sont pas aussi compatibles avec les plugins.
Puisque vous essayez d'appeler cette fonction lors du redimensionnement de la fenêtre, vous souhaiterez lier la fonction à la fenêtre et non au document. Pour prendre en charge les versions de IE inférieures à 9, vous souhaiterez utiliser attachEvent
. Veuillez noter que attachEvent
vous oblige à spécifier le on
mot clé. Voici un exemple:
if(window.attachEvent) {
window.attachEvent('onresize', function() {
alert('attachEvent - resize');
});
}
else if(window.addEventListener) {
window.addEventListener('resize', function() {
console.log('addEventListener - resize');
}, true);
}
else {
//The browser does not support Javascript event binding
}
De même, vous pouvez supprimer des événements de la même manière
if(window.detachEvent) {
window.detachEvent('onresize', theFunction);
}
else if(window.removeEventListener) {
window.removeEventListener('resize', theFunction);
}
else {
//The browser does not support Javascript event binding
}
Vous ne redimensionnez pas le document mais la fenêtre. Cela marche :
window.addEventListener("resize", function(){console.log('resize!')}, true);