2010-06-06 6 views
0

Id comme une aide pour modifier ce javascript événement onclick pour charger uniquement les données à la page du chargement de la page ... De préférence ne pas utiliser le corps sur l'étiquette de charge ...JAVASCRIPT changer le clic

Alors, évidemment, je serais pré régler le var à terme à l'intérieur du terme de script plutôt que le excisting sur événement click ..

espoir qui fait sens

<p><a id="keywordlink" href="?term=wombats">Get keywords for wombats</a></p> 
<script type="text/javascript" src="keywords.js"></script> 
<script type="text/javascript"> 
    var x = document.getElementById('keywordlink'); 
    if(x){ 
    x.onclick = function(){ 
     var term = this.href.split('=')[1]; 
     this.innerHTML += ' (loading...)'; 
     KEYWORDS.get(term,seed); 
     return false; 
    } 
    } 
    function seed(o){ 
    var div = document.createElement('div'); 
    var head = document.createElement('h2'); 
    head.innerHTML = 'Keywords for '+o.term; 
    div.appendChild(head); 
    var p = document.createElement('p'); 
    p.innerHTML = o.toplist; 
    div.appendChild(p); 
    var head = document.createElement('h3'); 
    head.innerHTML = 'Details:'; 
    div.appendChild(head); 
    var list = document.createElement('ol'); 
    for(var i=0,j=o.keywords.length;i<j;i++){ 
     var li = document.createElement('li'); 
     li.innerHTML = o.keywords[i].term + '('+o.keywords[i].amount+')'; 
     list.appendChild(li); 
    } 
    div.appendChild(list); 
    x.parentNode.replaceChild(div,x); 
    } 
</script> 
+0

Si je comprends bien, vous demandez comment déplacer cet événement onclick pour exécuter lorsque la page est chargée Si tel est le cas, utilisez simplement l'événement document.ready() dans jQuery. Ou si vous ne voulez pas utiliser jQuery - voici un fil expliquant comment le faire en js: http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery – RPM1984

Répondre

1

changer ceci:

if(x){ 
    x.onclick = function(){ 
     var term = this.href.split('=')[1]; 
     this.innerHTML += ' (loading...)'; 
     KEYWORDS.get(term,seed); 
     return false; 
    } 
    } 

à quelque chose comme ceci:

function loadSomething(){ 
    var term = x.href.split('=')[1]; 
    x.innerHTML += ' (loading...)'; 
    KEYWORDS.get(term,seed); 
    return false; 
} 
loadSomething(); 

vous pouvez le laisser où il est, mais pour une meilleure lisibilité, mettez-le en dessous de la fonction de semences.

Vous devez utiliser quelque chose comme onload ou document.ready, mais bien vous pouvez déplacer le fichier entier de script au bas de la page

+0

Parfait merci – Webby

0

ne définissez pas les gestionnaires d'événements de cette façon. Utilisez addEventListener et (pour IE) attachEvent.

+0

Désolé toute idée comment puis-je mettre en œuvre ce copain? – Webby

Questions connexes