2014-02-19 43 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

相关问题