javascript onclick功能的差异

时间:2014-04-18 03:27:32

标签: javascript html onclick

这里的前两行javascript有什么区别?

HTML:

<html>

    <body>

        <form>

            <input type="button" value="one" id="one" />
            <input type="button" value="two" id="two" />

        </form>

        <script type="text/javascript" language="javascript" src="example.js"></script>

    </body>

</html>

的javascript:

document.getElementById('one').onclick = one();
document.getElementById('two').onclick = function() {two();}


function one(){
    alert('this pops up before the button is clicked. Afterwards, the button doesn\'t work.');
}

function two(){
    alert('this pops up appropriately when the button is clicked.');
}

在页面加载之前显示Popone,然后按钮变得无法使用。单击第二个按钮并正常工作时,弹出两个显示。

1 个答案:

答案 0 :(得分:0)

区别在于您如何将函数传递给onclick事件。执行=one();时,它会立即评估函数并执行它。当您执行function(){two();}时,它会等待单击以执行执行two();的匿名函数。相反,您执行="one();"然后它应该工作相同。