2014-02-19 66 views
0

對不起,如果這可能被認爲是輕微的重複,但我找不到答案,幫助我瞭解爲什麼myFunc()在頁面加載時觸發,而不是當我點擊el1el2。我如何使下面的代碼按預期行事?onclick在頁面加載時觸發,需要調用帶參數的函數

function myFunc(param){ 
    //yadayada 
} 

el1.onclick = myFunc('string1'); 
el2.onclick = myFunc('string2'); 

謝謝。

回答

2
document.getElementById('el1').onclick = function() { myFunc('string1'); }; 
document.getElementById('el2').onclick = function() { myFunc('string2'); }; 

您需要首先獲取頁面上的元素,然後分配給它們的功能,否則,因爲它認爲myFunc()正在恢復被分配到onclick一個值,而不是在解析器會的onload執行它們實際功能myFunc()

+0

它的semi-pseudo,我試圖給我的印象,我已經存儲在各個變量的元素。編輯,編輯更有意義 – Kiee

+0

我剛剛在我的答案中更新了我的解釋。希望這有點更清楚。 –

+0

耶謝謝你爲我清理,它明顯的時候向你解釋,我應該想到:) – Kiee

相關問題