Javascript 如何使用addEventListener

Javascript 如何使用addEventListener,javascript,click,addeventlistener,Javascript,Click,Addeventlistener,我制作了一个脚本,每次按下按钮时都会创建div元素。最初,我使用onclick属性调用了内联函数,但jslint不喜欢这样,所以我将其移出,并尝试使用addEventListener(“单击”,function()) 我以前从未使用过addEventListener(),所以我甚至不确定我是否正确使用了它 问题在于,当页面加载时,它会创建一个div,而当按下按钮时,它不会执行任何操作 先谢谢你 以下是我所拥有的: <body> <form> <textare

我制作了一个脚本,每次按下按钮时都会创建div元素。最初,我使用
onclick
属性调用了内联函数,但jslint不喜欢这样,所以我将其移出,并尝试使用
addEventListener(“单击”,function())

我以前从未使用过
addEventListener()
,所以我甚至不确定我是否正确使用了它

问题在于,当页面加载时,它会创建一个
div
,而当按下按钮时,它不会执行任何操作

先谢谢你

以下是我所拥有的:

<body>
<form>
    <textarea id="a"></textarea>    
    <br>
    <input value="button" type="button">
</form>
<div id="content">
</div>
<script>
    /*jslint browser:true */
    function createEntry(text) {
        "use strict";

        var div = document.createElement("div");
        div.setAttribute("class", "test");
        document.getElementById("content").appendChild(div);
    }
    var input = document.getElementsByTagName("input")[0];
    input.addEventListener("click", createEntry(document.getElementById('a').value));
</script>


/*jslint浏览器:true*/ 函数createEntry(文本){ “严格使用”; var div=document.createElement(“div”); div.setAttribute(“类”、“测试”); document.getElementById(“内容”).appendChild(div); } var input=document.getElementsByTagName(“输入”)[0]; input.addEventListener(“单击”,createEntry(document.getElementById('a').value));

像这样更改事件侦听器

input.addEventListener("click", function(){
    createEntry(document.getElementById('a').value);
});
目前,您正在将
createEntry
的结果作为事件侦听器传递,而不是函数本身

更多信息请点击此处:

更改此行

input.addEventListener("click", createEntry(document.getElementById('a').value));
进入


尝试使用类似jQuery的JavaScript库进行事件处理和DOM操作,以确保浏览器的安全性和一致性

您可以在jQuery中使用事件处理程序,如下所示:

$(<element_selector>).on("click", function (event) {
     // your code here...
});
$()。在(“单击”)上,函数(事件){
//你的代码在这里。。。
});

啊!非常感谢您抽出时间。:]我知道如何使用JQuery,但我想通过在没有JQuery的情况下编写Javascript来提高我的Javascript技能。不过,关于跨浏览器安全性,您提出了一个很好的观点。谢谢:]
$(<element_selector>).on("click", function (event) {
     // your code here...
});