和用户实际点击相比,除了操作速度外 ,其他的副作用都一样吗?
下面这两个click, 能否代表用户 足够快速点击这两个dom?
我认为是不一样的。
你触发不了 视频播放、剪贴板、文件上传 等等。然后 event 也会有细微的变化,你可以对比一下。
当然如果你说支持执行一个计算,调用ajax。那么是没影响的。em。。。好像调用会变成同步?而不是UI的异步事件。
###代码 dispatch 的事件和用户触发的事件是一样的,只有一点不一样,event.isTrusted 为 false 。所以说event listener 是可以鉴别出来这个事件是否真的是用户触发的,比如浏览器的默认行为有些是只响应 isTrusted 为 true 的事件的。
其实 DOM 里的事件你都可以用代码构建然后dispatch 给你的 target,从前是用 document.createEvent 现在是推荐直接 new ,然后初始化一下各种属性,然后调用 dispatchEvent 。click() 等价于 dispatch 一个 click event,冒泡什么的都在,只要你的 listener 不有意监测你是否是代码触发的事件,一切就会照常。