javascript onclick功能的差异

difference in javascript onclick functionality

本文关键字:功能 onclick javascript      更新时间:2023-09-26

这里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.');
}

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

区别在于如何将函数传递给onclick事件。执行=one();时,它会立即评估函数并执行它。而执行function(){two();}时,它将等待,直到单击执行执行two();的匿名函数。如果执行="one();",则它应该也能正常工作。