2010-06-06 56 views
0

標識像一些幫助改變這個JavaScript的onclick事件只是加載頁面上的數據頁面加載... 最好不要使用身體上載入標籤...JAVASCRIPT上點擊改變

所以,很顯然我會預先設定的單擊事件..

希望爲腳本術語,而不是excisting內長期使用var是有道理

<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

如果我理解正確,你問如何將這個onclick事件執行當頁面被加載時。 如果是這樣,只需在jQuery中使用document.ready()事件即可。或者,如果你不想使用jQuery - 這是一個線程,解釋如何在js中執行它: http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery – RPM1984 2010-06-06 23:29:50

回答

1

改變這樣的:

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

到這樣的事情:

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

你可以把它在哪兒,但可讀性,把它下面的子功能。

你應該使用類似的onload或的document.ready,另外,也可在整個腳本文件移動到頁面底部

+0

完美謝謝 – Webby 2010-06-06 23:56:42

0

,不要將事件處理方式。使用addEventListener和(對於IE)attachEvent。

+0

對不起,任何想法如何實現那個哥們? – Webby 2010-06-06 23:46:58