我一辈子都无法弄清楚如何在qunit中的按钮上触发click事件。我正在使用grunt-contrib-qunit,我相信它使用phantomJS来运行测试。我已经尝试过人们说过的与phantomJS有关的多种解决方案(例如PhantomJS;单击一个元素),但似乎都没有用。
在模拟元素上的click事件后,是否有人能够在命令行中使用grunt-contrib-qunit进行测试?
好,我解决了我的问题。事实证明,PhantomJS实现了触摸事件,我的代码正在检查ontouchend事件并绑定到该事件(如果存在)。哇,没想到!因此,我可以通过创建如下所示的函数来解决我的问题:
function fireClickEvent(el) {
var eventType = "ontouchend" in document.documentElement ? "touchstart" : "click";
var clickEvent = document.createEvent('MouseEvent');
clickEvent.initMouseEvent(eventType, true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
el.dispatchEvent(clickEvent);
}
在这里发布问题之前,我会尝试多检查一下我的工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句