2010-06-06 35 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