效果
背景
使用flutter 调用webview内网页,网页内容是监听touchstart和 touchend,触发不同是事件,但是发现每次长按都 手指抬起后 才会执行 touchstart和touchend,满足不了我的需求,我的需求是当手指按下 立即执行touchstart,手指拿来再执行 touchend。
解决方案
抛弃浏览器事件,利用自定义事件,进行flutter 调用,控制事件的执行
网页端 绑定 document 的 onLongPressDown 和 onLongPressUp 事件。
// 监听按下事件
document.addEventListener("onLongPressDown", () => {
window.callAppMethod("onLongPressDown", {
status: this.state === LittleMan.STATE.init,
});
// 开始蓄力
if (this.state === LittleMan.STATE.init) {
this.state = LittleMan.STATE.storage;
// 粒子聚集
this.particle.gather(this.body);
// 形变
this.storage();
}
});
//