我是 JavaScript 新手,我在使用以下代码时遇到问题。正如您所看到的,我试图在用户单击按钮时执行一个功能,并且应该复制电子邮件。该代码在笔记本电脑设备上运行良好,但在触摸屏上则无法运行。如果有人对如何解决此问题有任何想法,请回复。谢谢!
let copy = document.querySelector(".copy");
const copied = () =>{
setTimeout(()=>{
copy.innerHTML = "<i class='bx bx-copy'></i> Copy email";
copy.classList.remove("copied");
}, "1500");
}
const copyfnc = () =>{
navigator.clipboard.writeText("[email protected]");
copy.classList.add("copied")
copy.innerHTML = "<i class='bx bx-check' ></i> email copied"
copied();
}
copy.addEventListener("click", () =>{
copyfnc();
})
copy.addEventListener("touchstart", () =>{
copyfnc();
})
expexting 有人可以修复它或给我一些建议
您可以使用
touchend
代替 touchstart
,而且最好阻止触摸事件的默认行为,以确保其按预期工作。
copy.addEventListener("touchend", (event) => {
event.preventDefault(); // Prevent default touch behavior
copyfnc();
});