Webkit 下的模拟点击问题

这几天都在抢天猫的金砖,用火狐的 console 面板,通过 setInterval 定时执行点击模拟,大家都用的很爽。

document.getElementById("J_Lucky").click();

不过发现 Chrome 下并不奏效,后来发现以下问题:

  • input 和 button 可以使用 document.getElementById(“J_Lucky”).click(); 并且是全兼容的,支持触发通过 onclick/addEventListener/attachEvent 等形式绑定的事件
  • 除 webkit 引擎外,其他浏览器均支持非 input 和 button 元素的 .click() 事件
  • webkit 引擎不支持除 input 和 button 以外元素的点击模拟,需要通过 dispatch 方法实现
    function dispatch(c, b) {
        try {
            var a = document.createEvent("Event");
            a.initEvent(b, true, true);
            c.dispatchEvent(a)
        } catch (d) {
            alert(d)
        }
    }
    dispatch(document.getElementById("J_Lucky"), "click");

参考资料:http://www.cnblogs.com/snandy/archive/2011/07/31/2122516.html

 
版权所有,转载请注明出处。
转载自 <a href="http://www.mangguo.org/webkit-click-dispatch/" title="Webkit 下的模拟点击问题" rel="bookmark">Webkit 下的模拟点击问题 | 芒果小站</a>
如果喜欢这篇文章,欢迎 订阅芒果小站以获得最新内容。

已经有 3 条群众意见

  1. colorhook /2012-06-18 21:41

    最新版chrome19已经支持了,赶紧下 回应

    #1
  2. 芒果colorhook 说 /2012-06-19 10:16

    刚测了最新 chrome,是已经支持了~ 回应

    #2
  3. 深圳珠宝 /2012-06-19 11:47

    没用过,不好说 回应

你可能感兴趣的:(Webkit 下的模拟点击问题)