2010-07-06 3 views
1

Dans ce code ont le bouton et l'ancre avec l'événement de clic.problème avec l'événement click?

alert(document.getElementById("btn").click); //not working in safari 
alert(document.getElementById("btn1").click); // is working in safari 

Je veux exécuter l'événement de clic d'ancrage Qu'est-ce que je fais?

<head> 
<script type="text/javascript"> 
function clickMe() 
{ 
    alert('My Name is ' + event.srcElement.name); 
} 
</script> 
</head> 
<body> 
<a href="#" name="btn" id="btn" onclick="clickMe()">a</a> 
<input type="button" href="#" name="btn1" id="btn1" onclick="clickMe()" /> 
<script> 

//document.getElementById("btn").click(); 
alert(document.getElementById("btn").click); 
alert(document.getElementById("btn1").click); 
</script> 
</body> 

Répondre

0

provenant d'un autre question Can I call jquery click() to follow an <a> link if I haven't bound an event handler to it with bind or click already?

Je l'ai fait quelques recherches et il semble que le .cliquez est supposé ne pas travailler avec « un » tags parce que le navigateur ne suport pas « clic faux » avec javascript. Je veux dire, vous ne pouvez pas "cliquer" sur un élément avec javascript. Avec les balises 'a', vous pouvez déclencher son événement onClick mais le lien ne changera pas de couleur (pour la couleur du lien visité, la couleur par défaut est le violet dans la plupart des navigateurs). Il ne serait donc pas logique de faire fonctionner l'événement $(). Click avec les balises 'a' car l'action d'accéder à l'attribut href ne fait pas partie de l'événement onClick, mais est codée en dur dans le navigateur. Safari et Chrome n'autoriseront pas l'objet lien à avoir une fonction .click, à cause de ce comportement.

Il semblerait que IE est moins stricte.

Questions connexes