我是 JavaScript 新手。我想双击按钮并向控制台写入一些内容,但我使用的代码不起作用。 代码在这里:
btn.addEventListener("dblclick",function);
此代码在 Microsoft Edge 上不起作用。我查看了文档。文档中有两种方法。
第一种方法是(这个方法和我的方法一样):
addEventListener("dblclick", (event) => {});
第二种方法是:
ondblclick = (event) => {};
我尝试了两种方法,但没有成功。然后我将“dblclick”更改为“ondblclick”,但它再次不起作用。但此时我没有收到任何错误或警告。上次我尝试使用 Google Chrome 时,它成功运行了。
为什么相同的代码在 Chrome 上可以工作,但在 Edge 上却不起作用?我该怎么做才能解决这个问题?
如果你有一个像你提到的那样的代码,
btn.addEventListener("dblclick", function);
,那么“function”是一个保留字,所以你不能那样命名你的函数。但既然你的代码运行了,我认为这只是一个例子。
因此,我建议您检查是否确实获得了要附加事件侦听器的按钮。
HTML
<button id="btn">Hello button</button>
JS
const btn = document.getElementById("btn");
console.log(btn); // Check if the element is retrieved
btn.addEventListener("dblclick", (event) => console.log("Hello world!"));
如果您没有获取该元素,可能是因为您的脚本在 HTML 完全加载之前运行。这是初学者常犯的错误。
<script src="file.js">
标签应放置在 <body>
元素的末尾。
<body>
<button id="btn">Hello button</button>
<script src="file.js"></script>
</body>
您可以在此处查看不同浏览器不支持哪些功能: 我可以使用吗。
但是,在您的情况下,Edge 和 Chrome 都支持双击事件。