2010-06-06 5 views
0

Id как некоторая помощь изменить этот яваскрипт OnClick события просто загрузить данные на странице загрузку страницы ... Предпочтительно не использовать тело от нагрузки тега ...JAVASCRIPT меняется по щелчку

Так, очевидно, я предварительно установить вар для термина внутри термина сценария, а не excisting на событии нажатия ..

Надежды, что имело смысл

<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 событие для выполнения когда страница загружена. Если это так, просто используйте событие document.ready() в jQuery. Или если вы не хотите использовать jQuery - вот нить, объясняющая, как это сделать в js: http://stackoverflow.com/questions/799981/document-ready-equivalent-without-jquery – RPM1984

ответ

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

0

не устанавливать обработчик событий таким образом. Используйте addEventListener и (для IE) attachEvent.

+0

Извините, какая-либо идея, как мне реализовать это приятель? – Webby

Смежные вопросы