2017-10-20 56 views
0

在对问题进行搜索时,我发现如何仅使用Jquery测试浏览器事件。但我没有使用它。如何测试浏览器事件 - 点击,鼠标悬停等清晰的本地JavaScript?

如何用Javascript(而不是Jquery)触发某些事件?

我有一个简单的html表单和一个带有'onclick'事件的按钮。 我必须模拟点击事件,所以我可以在Jasmine中测试它。

我该怎么做?

P.S.我发现了一些解决方案:

function fireClick(node){ 
    if (document.createEvent) { 
     var evt = document.createEvent('MouseEvents'); 
     evt.initEvent('click', true, false); 
     node.dispatchEvent(evt); 
    } else if(document.createEventObject) { 
     node.fireEvent('onclick') ; 
    } else if (typeof node.onclick == 'function') { 
     node.onclick(); 
    } 
} 

但它只适用于白色茉莉花独立而不适用于Jasmine for node.js.

回答

1

为了模拟“点击”事件:

var event = new Event("click"); 
element.dispatchEvent(event); 
+0

谢谢,这仅适用于茉莉花独立,而不是茉莉花于Node.js – kriskafun