简体   繁体   English

JavaScript / HTML与DOM,Button一起工作,每次点击时都会计算点击并生成新字符串

[英]JavaScript / HTML work with DOM, Button which count click and make new string every time when I click

I need create button which count click but make every time new string.我需要创建计数点击但每次创建新字符串的按钮。 I have that function with scope which make count every time when I click, but I cannot understand, why in HTML it every time count zero, should be like this: (Verticaly every click make new string with updated count) 1 2 3 4 ...我有这个函数,每次点击时都会计数,但我不明白,为什么在 HTML 中它每次计数为零,应该是这样的:(垂直每次点击都会产生更新计数的新字符串) 1 2 3 4 。 ..

<form action="#">
    <input type="button" value="Count" onclick="add_count()">
</form>

function add_count() {
let integer = (function () {
    let counter = 0;
    return function() {return counter++;};
}());
let tag = document. createElement("p");
let text;
text = document. createTextNode(integer());
tag. appendChild(text);
let element = document. getElementsByTagName("body")[0];
element. appendChild(tag)};

You just need to move the counter initialization outside of the function scope您只需要将counter初始化移到函数范围之外

I've tweaked your code a bit.我已经稍微调整了你的代码。

Note: try not using inline event listeners, instead use event listeners in JavaScript file注意:尽量不要使用内联事件监听器,而是在 JavaScript 文件中使用事件监听器

 let counter = 0; const button = document.querySelector('input'); function add_count() { let integer = (() => counter++); const tag = document.createElement("p"); const text = document.createTextNode(integer()); tag.appendChild(text); const element = document.body element.appendChild(tag) }; button.addEventListener('click', add_count)
 <form action="#"> <input type="button" value="Count"> </form>

暂无
暂无

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

相关问题 当我单击鼠标将其重定向到处理程序(页面)时,如何使javascript每次都加载新数据(不使用缓存数据) - how to make javascript load new data every time (without using cache data) when I redirect it to a handler(page) on mouse click 我想创建一个计数器,每次单击 javascript 中的按钮时都会更改 - i want to create a counter which change every time i click on the button in javascript 该按钮应该在每次单击时都会带来一个新的随机报价,但是当我单击它时没有任何反应 - The button is supposed to bring a new random quote every time it’s clicked but nothing happens when I click it 每次单击按钮时如何添加新的 I 项 - How add the new I item every time when we click on button 如何在 Javascript 和 HTML 中单击按钮时制作新画布 - How to make new canvases on button click in Javascript and HTML 为什么是 <tfoot> 每次我单击按钮时添加? - Why is <tfoot> added every time when I click on the button ? 在每次点击时使 Javascript 打印字符串 - Make Javascript print string on every click 如何使HTML元素被JavaScript隐藏,并在单击按钮时显示? - How can I make HTML elements be hidden by JavaScript, and show up when I click a button? 当使用JavaScript单击HTML上的按钮时,如何使事件发生 - how to make an event happen when click a button on HTML by using javascript 如何在javascript中使多个按钮“单击以显示”工作? - How can I make a multiple button "click to reveal" work in javascript?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM