我有一个元素,它只在touch(启动(上工作,我想让onclick触发ontouch(对于不可触摸的设备,比如我的电脑(。类似:
element.onclick = element.touchStart();
或:
element.onclick = element.touch();
这样的事情可能发生吗?
您需要使用new Event
创建一个新的触摸事件,并使用event.target
的dispatchEvent
方法将其分派到元素。
let div = document.querySelector("div");
div.addEventListener("click", (e)=>{
var event = new Event('touch');
e.target.dispatchEvent(event)
});
div.addEventListener("touch", (e)=>{
console.log("touched");
});
#test{
background: red;
width: 200px;
height: 200px;
}
<div id="test"><div>