【问题标题】:How to handle click event in javascript?如何处理javascript中的点击事件?
【发布时间】:2011-07-24 13:29:06
【问题描述】:

今天是我从事新工作的第一天(大型网站的前端主管)。我的任务之一是实现一个按钮,当它被点击时会触发一个事件。我不知道,所以在谷歌搜索了一下之后,我想出了这个:

<html>
<head>
<script type="text/javascript">
function popup(); 
{
    alert("Hello World") ==> alert("Hello World");
}
</script>
</head>
<body>

<input type="button" value="Click Me!" onclick="popup()"></input><br></br>

</html>    
</body>

问题是,当我单击按钮时,什么也没有发生。

EDIT根据MICHEL的cmets更新

【问题讨论】:

  • 语法错误function popup() { alert("Hello World"); }
  • 您可能对我正在撰写的关于 jQuery 事件系统并讨论浏览器事件模型的系列感兴趣 - forloop.co.uk/event-internals-in-jquery-part-one
  • 大型网站的前端主管? o_O 我非常鼓励你尽快学习 jQuery。
  • 我想知道这家伙在哪里工作,也许他们会雇用我的女儿 ;-)
  • alert("Hello World") ==&gt; alert("Hello World"); 不是有效的声明。

标签: javascript design-patterns architecture


【解决方案1】:

去掉分号:

function popup()
{
    alert("Hello World")
}

应该可以的^_^

在这里看到它的工作:http://jsfiddle.net/maniator/fNeJh/

【讨论】:

  • 那我应该把分号放在哪里?
  • 无处可笑。做我上面做的。不需要分号(如果需要,可以使用它们。把它放在警报之后:alert("Hello World");
  • 我建议学习 JavaScript 的人不要省略分号。
  • @Pointy ,没错,正如我所说,它们不是必需的,但您可以在行尾使用它们,而不是创建函数
  • 我支持@Pointy ;) 另外,在函数表达式后加一个分号:var foo = function () {};。更好的是,使用JSLint
【解决方案2】:

您的 HTML 无效。改变

</html>    
</body>

</body>
</html>

此外,&lt;br&gt; 标记没有内容,因此您根本不需要结束标记(对于 HTML),或者您可以将其编写为自结束标记:&lt;br/&gt;

就 JavaScript 错误而言,Neal 的回答是正确的。

【讨论】:

    【解决方案3】:

    这应该可以工作

    <html>
    <head>
    </head>
    
    <body>
    
    <script type="text/javascript">
    function popup() 
    {
        alert("Hello World");
    }
    </script>
    
    <input type="button" value="Click Me!" onclick="popup()"><br/><br/>
    
    </body>
    </html>
    

    【讨论】:

    • 谢谢,现在已将其粘贴到我们的项目中!
    【解决方案4】:

    去掉后面的分号

    不好:

    function popup(); 
    

    好:

    function popup()
    

    您可能想在 alert("Hello World") ==> alert("Hello World"); 之后添加一个

    【讨论】:

    • alert("Hello World") ==&gt; alert("Hello World"); 不是有效的声明。
    • 什么意思?我建议将 alert("Hello World") 替换为: alert("Hello World");
    • 我的意思是alert("Hello World") ==&gt; alert("Hello World");是错误的。
    【解决方案5】:

    函数声明后不应该有分号...一个简单的javascript教程会让你开始使用javascript...

    【讨论】:

    • 这是一种简单的错误,并不总是很容易看到......即使是更有经验的人......
    • 在函数声明的末尾放置分号是一种常见的做法,因为不这样做可能会产生不良影响。见stackoverflow.com/questions/1834642/…
    猜你喜欢
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    相关资源
    最近更新 更多