-1

全部!我在使用简单的 onclick 方法时遇到问题。请帮帮我。这是代码......当我点击按钮时,什么都没有发生。

window.onload=initall();
var xhr = false;

function initall(){

    var btn=document.getElementById('btn');

    btn.onclick=alert('hi');
}



<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">

<title>Untitled Document</title>

<script type="text/javascript" src="testjs.js"></script>
</head>

<body>
<input type="text" required name="id">
<input type="button"  id="btn" value="send">
<div id="result"></div>
</body>

</html>
4

4 回答 4

2

Onclick 应该是一个函数,而不是一个语句。尝试

btn.onclick=function(){ 
  alert('hi');
}
于 2012-09-04T19:27:03.697 回答
2
window.onload=initall();

调用该函数initall并分配作为事件处理程序的返回值。initall也就是说,initall立即执行而不是在load事件触发时执行。
类似的btn.onclick=alert('hi');。但在这两种情况下,返回值都不是函数。

您必须为这些属性分配函数,然后在事件发生时调用它们。

function initall(){
    var btn = document.getElementById('btn');

    btn.onclick = function() { // creates and assigns the function at once
        alert('hi');
    };
}

window.onload = initall; // assign the function reference, no `()`.

我建议阅读 quirksmode.org 上的优秀教程以了解事件处理,当然还有MDN JavaScript Guide for the JavaScript basics。

于 2012-09-04T19:28:35.460 回答
1
Try this for onclick javascript function call   


    function initall(){

        var btn=document.getElementById('btn');

        btn.onclick=alert('hi');
    }
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">

    <title>Untitled Document</title>

    <script type="text/javascript" src="testjs.js"></script>
    </head>

    <body>
    <input type="text" required name="id">
    <input type="button"  id="btn" value="send" onclick="javascript:initall();">
    <div id="result"></div>
    </body>

    </html>
于 2015-04-04T07:30:29.877 回答
0

试试这个:http: //jsfiddle.net/uxfD4/

onclick 赋值接受一个函数。您的代码所做的是评估警报('hi'),返回 null。

于 2012-09-04T19:28:16.957 回答