2010-07-28 4 views
2

je la page HTML suivante:javascript pour trouver l'appelant div. (Ou tout autre objet dom)

<div id="a" onclick ="javascript:click();">a</div> 
<div id="b" onclick ="javascript:click();">b</div> 
<div id="c" onclick ="javascript:click();">c</div> 

Maintenant, la fonction javascript:

function click() { 
    // how do I know if it was 'a' , 'b' or 'c' to call me 
} 

Quelqu'un sait comment trouver (dans tous les navigateurs) qui div était l'appelant dans la fonction de clic «appelé»?

Merci beaucoup Erik

Répondre

1

Quelque chose le long des lignes de:

js:

function click(elem){ 
    alert(elem.id); 
} 

html:

<div id="a" onclick ="javascript:click(this);">a</div> 
<div id="b" onclick ="javascript:click(this);">b</div> 
<div id="c" onclick ="javascript:click(this);">c</div> 
+1

Perd les étiquettes inefficaces 'javascript:'. – bobince

0

Conseil:

<script> 
function click(me) { 
    alert(me.id); 
} 
</script> 
... 
<div id="c" onclick ="click(this);">c</div> 
+0

ce que dans le. .. 3 réponses identiques, lol –

+0

Merci. tu as raison. L'astuce consistait à appeler la méthode 'click' en passant 'this' comme argument. Excellent – erik

0

passe this comme argument de la fonction:

<div id="a" onclick ="javascript:click(this);">a</div> 
<div id="b" onclick ="javascript:click(this);">b</div> 
<div id="c" onclick ="javascript:click(this);">c</div> 

Et est la fonction ici:

function click(el) { 
    alert(el.id); 
} 

Il aurait été plus facile et discret avec jQuery si:

$('div').click(function(){ 
    alert(this.id); 
}); 
Questions connexes