Afficher un message
Vieux 06/09/2007, 00h02   #41
Laurent vilday
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: [IE] Comment déclencher artificiellement la fonction affecté à onclick ?

Oups, nouvelle édition rectifiant un précédent post annulé. Mais on sait
tous à quel point les annulations sont hummm disons aléatoires. Prière
d'ignorer le précédent qui raconte un paquet de bêtises shut !

Mickaël Wolff a écrit :
> Bruno Desthuilliers a écrit :
>> Je confirme.
>> - sous FF, utiliser:
>> document.getElementById('mon_lien').onclick();
>> - sous IE, utiliser:
>> document.getElementById('mon_lien').click();

>
> Ce qui est amusant, c'est que seul HTMLInputElement.click() est prévu
> par la recommandation du W3C
> <http://www.w3.org/TR/DOM-Level-2-HTML/html.html>


<div id="lolo"></div>

<form>
<input type="text">
<input type="button">
</form>

<script type="text/javascript">
window.onload = function()
{
var E = document.getElementById('lolo');
alert('1) ' + typeof E.onclick + '/' + typeof E.click);

E = document.forms[0].elements[0];
alert('2) ' + typeof E.onclick + '/' + typeof E.click);

E = document.forms[0].elements[1];
alert('3) ' + typeof E.onclick + '/' + typeof E.click);
};
</script>


FX2 :
1) undefined/undefined // OUI / OUI
2) undefined/function // OUI / non
3) undefined/function // OUI / OUI

IE7 :
1) object/object // non / non
2) object/object // non / non
3) object/object // non / non

Op9 :
1) object/undefined // non / OUI
2) object/function // non / non
3) object/function // non / OUI

D'ou provient le onclick pour Opéra, je ne sais pas. Je suppose une
autre tentative d'émulation du comportement du IE.

La RFC stipule, je cite : - Method click: Simulate a mouse-click. For
*INPUT* elements whose type attribute has one of the following values:
"button", "checkbox", "radio", "reset", or "submit". -

Ce qui en français : Simule un clic de souris. Pour les éléments *INPUT*
dont l'attribut type à une des valeurs suivantes : "button", "checkbox",
"radio", "reset" ou "submit"

Donc IE a tort tout le temps, jusque là rien de bien étonnant.

FX2 et Opéra9 ont raison - sur cette partie de la RFC - pour le test 1
(le div) et pour le test 3 (input button) et tous les deux se plantent
pour le test 2 (input type) parce que à ce jour "text" ne fait pas
partie de la liste énumérée (button, checkbox, radio, reset et submit)

M'enfin tout cela ne m'inspire comme souvent que ceci : sniff sniff

--
laurent
  Réponse avec citation
 
Page generated in 0,05629 seconds with 9 queries