简体   繁体   English

单击链接时,显示警告框?

[英]When clicking on a link, show alert box?

so I just started to learn JavaScript. 所以我刚开始学习JavaScript。 When I click on "Click Me!", my alert box does not pop up! 当我点击“Click Me!”时,我的警告框不会弹出!

<!DOCTYPE html>

<html lang="en">
<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>JAVASCRIPT</title>

</head>
<body>

    <a href="#" id="anchor">Click Me!</a>

    <script type="text/javascript">

        var anchor = getElementById('anchor');
        // or anchor = getElementsByTagName('a') then do ('a')[0]

        anchor.addEventListener('click', doSomething, false);

        function doSomething() {
            alert('clicked');
        }

    </script>

</body>
</html>

You forgot document. 你忘记了document. on the line with getElementById : getElementById的行上:

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

getElementById is a method of the document object, not a global function. getElementByIddocument对象的方法,而不是全局函数。

Change it to document.getElementById('anchor'); 将其更改为document.getElementById('anchor');

(Do have a more useful fallback then href="#" though for a real page though) (有一个更有用的后备然后href="#"虽然对于一个真实的页面)

A quicker guerrilla style approach would be: 更快的游击队风格方法是:

<a href="javascript:;" onclick="alert('clicked')">Click Me!</a>

In general though adding inline JS code is discouraged since it impacts maintainability. 通常虽然不鼓励添加内联JS代码,因为它会影响可维护性。 This would be better. 这会更好。 Notice is is not necessary to use document.getElementById() since you can get the element reference from 'this'. 注意没有必要使用document.getElementById(),因为您可以从'this'获取元素引用。

<a href="javascript:;" onclick="my_function(this)">Click Me!</a>

<script>
my_function = function(elem) {
   //elem points to anchor element clicked
}
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM