在某些功能上可能我们会使用到模拟用户点击,当然在jQuery中的模拟事件已经很强大了,但是我们再使用其他库或者使用原生JavaScript的时候,不可能使用jQuery的美元号去实现这个功能了,因此只能通过原生JavaScript去实现,下面我们就来看看代码该如何写。
原生js中可以通过dispatch方法来模拟用户行为,如点击(click),触屏(touchStart)操作等,我们都可以进行模拟。
自动触发内置事件
自动触发事件有两种方法,目前支持IE内核以及Firefox内核浏览器,但是并不支持chrome
1 | //自动触发内置事件 |
2 | function commonTrigger(el, type) { |
3 | var evt = document.createEvent("MouseEvents"); |
4 | evt.initEvent(type, true, true); |
5 | el.dispatchEvent(evt); |
6 | } |
7 | //自动触发内置事件 |
8 | function trigger(el, type) { |
9 | var event = new MouseEvent(type, { |
10 | 'view': window, |
11 | 'bubbles': true, |
12 | 'cancelable': true |
13 | }); |
14 | el.dispatchEvent(event); |
15 | } |