JS代码在页面加载时触发,而不是等待click事件

时间:2014-05-13 17:01:58

标签: javascript html

我对此代码有困难。我试图让JS在点击事件上执行,但是在页面加载时以及用户点击时执行。任何帮助深表感谢!

<body>
<a href="" id="calc">click me!</a>
</body>
<script type="text/javascript">
window.onload = function () {
document.getElementById('calc').onclick=xfx()
}

xfx = function (){
alert("x");
}
</script>
</body>

4 个答案:

答案 0 :(得分:6)

您正在调用该函数,而不是将其分配给单击事件

这应该这样做:

document.getElementById('calc').onclick = xfx;

答案 1 :(得分:1)

该行

    document.getElementById('calc').onclick = xfx();

表示您要将onclick分配给xfx()调用的结果

你可能想要

    document.getElementById('calc').onclick = xfx;

这意味着您要分配onlick xfx函数本身。

答案 2 :(得分:1)

我使用addEventListener来查找变量上的点击;像这样:

var clickMe = document.getElementById('calc');

clickMe.addEventListener('click', function () {
alert("hello!");
});

你的变量是clickMe,定义了id&#39; calc&#39;,点击它会触发警报。

这里是小提琴,http://jsfiddle.net/89Nvb/

答案 3 :(得分:-2)

应该是

function xfx() {
  alert("x");
}