addeventlistener 相关问题

一种DOM事件方法,用于将事件侦听器添加到给定的DOM节点

ESC按键甚至没有被捕获

我添加了按键监听器,但这不起作用。 当“点击”的监听器被调用时 - 工作完美。 这是代码: var closeSave = document.getElementById("someId&quo...

回答 2 投票 0

不明白为什么我的addEventListener不起作用

亲爱的, 我是编程新手,以下是我的程序: const p = document.querySelector('p'); 蜜蜂类{ 静态welcome_tips() { 返回“欢迎来到这里”; } 静态欢迎(){ p.

回答 1 投票 0

script.js:3:20 未捕获的类型错误:无法读取 null 的属性(读取“addEventListener”)

我想提交 HTML 表单并根据输入和文本区域中的值读取消息。但是,我收到此 TypeError 告诉我事件侦听器为空,即使它是 n...

回答 1 投票 0

避免在 React 中状态更改时添加无休止的事件侦听器

我有一个状态变量项目,它只是带有 ID 和 ref (指向 HTMLDivElement)的项目的集合(对象),还有一个状态变量附件,它是另一个集合,但是...

回答 1 投票 0

从反应严格模式中获取“未捕获的类型错误:message.split不是函数”,即使该函数工作得很好

我有一个事件侦听器,我在初始页面渲染时在组件内创建它,如下所示: 使用效果(()=> { // 一旦从 getCommentTimestamp 收到响应,就调用 postComment ...

回答 1 投票 0

[element].Javascript 中的 AddEventListener?

我对编码非常陌生。下面是一段我很难理解的JS代码: var btnContainer = document.getElementbyId(“linkcontainer”); var btns = btnContainer.getElementsbyClassName(“btn...

回答 3 投票 0

区分 touchstart + touchend 与 click

使用vanilla JS,并且没有触摸框架,什么条件使touchstart + touchend成为点击事件? 是否有官方规范,例如: touchstart 后跟 touchend,带有

回答 1 投票 0

在 Mac 版 Chrome 上拦截 cmd+c(用于自定义复制)不可靠,我做错了什么?

对于我工作中的内部工具,我试图拦截并覆盖 ctrl/cmd+c 快捷方式。 上下文:下面的脚本被添加到从我的应用程序导出的 html 文件中。其目的是使...

回答 1 投票 0

如何实现每次按键时执行setInterval函数,不按键时停止?

我需要仅在按下特定键(本例中为“F”)时执行 setInterval 函数,然后在未按下该键时清除它。 我已经尝试过这个: var 进程; 功能...

回答 1 投票 0

如何用Js addEventListener显示小计?

当点击添加按钮时,小计值会更新,并显示价格 * 数量的结果,但不起作用。 ` 点击添加按钮后,小计值会更新,并显示价格 * 数量的结果,但不起作用。 ` <body> <section class="section dashboard"> <form action="http://127.0.0.1:4321/pembelian/add/create" method="POST"> <input type="hidden" name="_token" value="zwlU7e6su5TVTxRAWZiXnMMdMFDrVZtk5WATlXWT" autocomplete="off"> <div class="col text-end mb-4"> <button type="submit" class="btn btn-outline-primary" id="submitButton" fdprocessedid="fh7vd">Buat Pesanan</button> </div> <div class="row"> <div class="col-lg-4"> <div class="card"> <div class="image-container" style="width: 200px; height: 150px; background-color: white; display: flex; justify-content: center; align-items: center;"> <img src="http://127.0.0.1:4321/assets/images/storage/../eskrim.jpg" class="card-img-top" alt="storage/../eskrim.jpg" style="max-width: 100%; max-height: 100%; object-fit: contain;"> </div> <div class="card-body text-center"> <h5 class="card-title">Es Krim</h5> <p class="card-text">Rp 12.500</p> <p class="card-text">13</p> <div class="flex flex-col gap-0 items-center"> <input type="hidden" name="produkId[1]" value="1" id="produkId1"> <div class="flex flex-row gap-0 items-center justify-center w-full"> <button type="button" id="button-min1" class="border-0 focus:outline-none" fdprocessedid="g7pore">-</button> <input class="input-quantity border-0 bg-transparent focus:outline-none focus:ring-0" type="number" name="total_produk[1]" value="0" min="0" max="100" id="quantity1" fdprocessedid="wlgdxd"> <button type="button" id="button-plus1" class="border-0 font-semibold focus:outline-none" fdprocessedid="rkul0jd">+</button> </div> <div class="flex flex-row w-full"> <span class="border-0">Subtotal : Rp</span> <input id="subTotal1" value="0" type="text" class="border-0 text-sm text-start bg-transparent" disabled="" fdprocessedid="b4zjhr"> </div> </div> </div> </div> </div> <script> var minOp = document.getElementById('button-min1'); var plusOp = document.getElementById('button-plus1'); var quantity = document.getElementById('quantity1'); var subTotal = document.getElementById('subTotal1'); var submitButton = document.getElementById('submitButton'); minOp.addEventListener('click', function() { var value = parseInt(quantity1.value); if (!isNaN(value) && value > 0) { quantity1.value = value - 1; } calcSubtotal1() }) plusOp.addEventListener('click', function() { var value = parseInt(quantity1.value); if (!isNaN(value)) quantity1.value = value + 1; calcSubtotal1() console.log('value', value); }) function calcSubtotal1() { var price = 12500.00; var quantity = parseInt(quantity1.value); var subTotals = price * quantity; subTotal1.value = number_format(subTotals, 0,',','.'); console.log('subTotal1.value', subTotal1.value); }; function number_format (number, decimals, dec_point, thousands_sep) { // Strip all characters but numerical ones. number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return '' + Math.round(n * k) / k; }; // Fix for IE parseFloat(0.55).toFixed(0) = 0; s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); if (s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); } </body> 我确实把值改成1了,点击加号按钮的时候就变成0了。我还检查了console.log('value', value)和console.log('subTotal', Subtotal),数据进来了但小计根本没有改变。 我也问过chat gpt,但结果没有显示任何进展。 有人可以帮助我吗? 程序按预期运行。 number_format 函数有问题。所以我用这个相当于PHP函数number_format的JS是什么? 感谢您的关注。

回答 1 投票 0

如果输入值动态变化,有什么方法可以触发“更改”事件侦听器吗?

假设,我有一个委托输入字段,其类名称为“bulk_number”,位于父类名称“all_bulk_inputs”内,还有一个按钮,每当我点击时,该按钮都会向该输入字段添加随机数...

回答 2 投票 0

addEventListener 我在调整窗口大小时删除菜单上的EventListener

我做错了什么?当菜单在移动版本中打开时(< 768 px), first click should open the submenu and second click should get the parent URL (it works). After increasing the window width...

回答 1 投票 0

JS - 通过在模式中单击按钮来增加 JavaScript 中的变量

这是我之前已回答和解决的问题的延续。 我用它来创建我自己的 JS 增量和减量。 错误 未捕获的类型错误:无法读取 null 的属性(

回答 1 投票 0

javascript - querySelectorAll 与 addEventListener - 如何从变量中获取交互的元素和变量的数量

我有 HTML: 我有 HTML: <form name="form" .. <input type="text" name="title1" id="title1" class="f_title" value="smth LV"> <input type="text" name="title2" id="title2" class="f_title" value="smth EN"> <input type="text" name="title3" id="title3" class="f_title" value="smth DE"> <input type="text" name="url1" id="url1" class="f_url" value="smth-lv"> <input type="text" name="url2" id="url2" class="f_url" value="smth-en"> <input type="text" name="url3" id="url3" class="f_url" value="smth-de"> 如果用户更改输入“标题”,我会用该值进行一些替换,并且我想将其设置为正确的输入“url”。 以“很好”的方式,我无法获取交互字段的“数量”,也无法将其设置为相应的“url”...我想我知道如果使用 for() 和 eval() 该怎么做。 如果我使用 [正确] JS 的东西,比如 querySelectorAll 和 addEventListener: let i = 1; document.querySelectorAll('.f_title').forEach(el => { el.addEventListener('change', () => { if (typeof form.url[i] !== 'undefined') { ... form.url[i] = form.title[i].value; // for example - if changes input "title2" - how to alert(2) and how to reference to form.url2 in this loop? } }); i++; }); 您可以使用 forEach 回调获取的第二个参数:标题项的索引(在示例中为 0、1 或 2)。如果您还查询 url 输入的集合,那么您可以使用该索引来访问相应的 url 输入。 例如,我以小写形式复制输入值,并将所有空格替换为连字符: const urlInputs = document.querySelectorAll('.f_url'); document.querySelectorAll('.f_title').forEach((el, i) => { el.addEventListener('input', () => { if (urlInputs[i]) { urlInputs[i].value = el.value.replaceAll(" ", "-").toLowerCase(); } }); }); <form name="form"> <input type="text" name="title1" id="title1" class="f_title" value="smth LV"> <input type="text" name="title2" id="title2" class="f_title" value="smth EN"> <input type="text" name="title3" id="title3" class="f_title" value="smth DE"> <input type="text" name="url1" id="url1" class="f_url" value="smth-lv"> <input type="text" name="url2" id="url2" class="f_url" value="smth-en"> <input type="text" name="url3" id="url3" class="f_url" value="smth-de"> </form>

回答 1 投票 0

addEventListener是内置的JS函数还是Web API提供的?

如果 JavaScript 被视为单线程、同步编程语言,那么为什么我们在 JavaScript 中使用像 addEventListener 这样的异步函数。它们真的是 JS 的一部分还是由 WEB 提供

回答 1 投票 0

“点击”事件中外部变量的新值在第一次尝试时不会持续存在

我正在开发一个待办事项项目,可以单击按钮添加新待办事项,或单击现有卡片来编辑该待办事项。我决定让两者使用相同的形式,但使用不同的“...

回答 1 投票 0

事件委托:在哪里放置“if”语句

这里是Javascript新手。 在事件委托中放置“if”语句是否有“最佳实践”? 语境 我正在使用普通 Javascript 设置事件侦听器(我知道......

回答 1 投票 0

为什么在任何浏览器开发者控制台中抛出错误都不会被 window.addEventListener('error') 捕获?

鉴于此 HTML 文档使用 npx 服务运行: 世界你好 <p>鉴于此 HTML 文档使用 <pre><code>npx serve</code></pre> 运行:</p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;Hello world&lt;/h1&gt; &lt;script type=&#34;text/javascript&#34;&gt; window.addEventListener(&#39;error&#39;, error =&gt; { console.log(&#39;DEBUG&#39;, &#39;error captured&#39;, error) }) throw new Error(&#39;Caught by event listener!&#39;) &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>这将在开发者控制台中输出<pre><code>Debug error captured ErrorEvent { message: &#39;Uncaught Error. Caught by event listener!&#39; }</code></pre>。</p> <div><table> <thead> <tr> <th>控制台输入</th> <th>控制台输出</th> </tr> </thead> <tbody> <tr> <td><pre><code>const s = document.createElement(&#39;script&#39;); s.text = &#39;throw new Error(&#34;This is caught&#34;)&#39;; document.getElementsByTagName(&#39;head&#39;)[0].appendChild(s);</code></pre></td> <td><pre><code>Debug error captured ErrorEvent { message: &#39;Uncaught Error. This is caught!&#39; }</code></pre></td> </tr> <tr> <td><pre><code>window.dispatchEvent(new ErrorEvent(&#39;error&#39;, { message: &#39;This is caught&#39; }))</code></pre></td> <td><pre><code>Debug error captured ErrorEvent { message: &#39;This is caught!&#39; }</code></pre></td> </tr> <tr> <td><pre><code>throw new Error(&#39;not caught&#39;)</code></pre></td> <td>无</td> </tr> </tbody> </table></div> <p>为什么浏览器控制台中的 <pre><code>throw new Error(&#39;not caught&#39;)</code></pre> 不调度错误事件来触发 <pre><code>window.addEventListener(&#39;error&#39;)</code></pre>?</p> </question> <answer tick="false" vote="0"> <p>当您直接在浏览器控制台中抛出错误时,它不会通过 DOM 或 <pre><code>window.addEventListener(&#39;error&#39;, ...)</code></pre> 侦听的 javascript 执行上下文冒泡。该处理程序捕获页面执行上下文中脚本的错误。控制台中抛出的错误由控制台本身解释和处理,与网页的脚本执行环境分开。本质上,控制台错误保留在控制台中,脚本错误由脚本错误处理程序(如您设置的处理程序)处理。</p> </answer> </body></html>

回答 0 投票 0

JavaScript 未与我的 HTML 文件通信

我的 HTML 文件有一个配置文件和帮助按钮,我的帮助按钮包含一个带有问题和 3 个按钮的模式。如果您选择“是”按钮,它应该会增加个人资料屁股中的正确答案...

回答 1 投票 0

使用 Javascript 根据按下的按钮更改 div 的文本

我确信这比我想象的要容易,但是 - 我需要根据按下的按钮来更改段落。我想使用与我单击的按钮相同的按钮来更改...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.