Javascript 函数立即调用
Javascript function immediately invoking
我有两个js文件。第一个 (alert.js)
function test() {
var name= document.getElementById("name").value;
alert(name);
};
和第二个 (main.js)
document.getElementById("question_button").addEventListener("click", test());
在html我长得像
<body>
...
<script type="text/javascript" src="js/alert.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
加载页面时调用功能测试。这不是我需要的。这可能很简单,但我不明白。如何使函数 "test" 仅在按下按钮时调用?
您正在调用 test()
并将它的值 returns ( undefined
) 传递给 addEventListener
。只需将 test
作为参数直接传递而不是调用它:
document.getElementById("question_button").addEventListener("click", test);
或者传入一个匿名函数:
document.getElementById("question_button").addEventListener("click", function ( ) { test(x) } );
我有两个js文件。第一个 (alert.js)
function test() {
var name= document.getElementById("name").value;
alert(name);
};
和第二个 (main.js)
document.getElementById("question_button").addEventListener("click", test());
在html我长得像
<body>
...
<script type="text/javascript" src="js/alert.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
加载页面时调用功能测试。这不是我需要的。这可能很简单,但我不明白。如何使函数 "test" 仅在按下按钮时调用?
您正在调用 test()
并将它的值 returns ( undefined
) 传递给 addEventListener
。只需将 test
作为参数直接传递而不是调用它:
document.getElementById("question_button").addEventListener("click", test);
或者传入一个匿名函数:
document.getElementById("question_button").addEventListener("click", function ( ) { test(x) } );