我是javascript测试的新手。 我能够测试qunit的所有其他function。 但无法弄清楚如何使用qunit来测试事件处理程序的function。 在jquery event.js测试套件中看到一个用于触发器,绑定和委托函数的示例后,我尝试了下面的内容。
test('Event Handling', function () { var hai = function() { console.log('Clicked'); ok(true, 'click event triggered'); }; eventLib.addEvent(document.getElementById('qunit-header'), 'click', hai); $('#qunit-header').trigger('click'); ok(true, 'It happend'); });
这里eventLib是我编写的用于附加和分离事件的函数。 但是上面的代码似乎没有在qunit html接口上给出任何类型的输出[除了它发生]。 但是,如果我手动单击标题,事件处理程序将记录到控制台。 我正在使用jquery v1.6.2
似乎.trigger
只运行通过jQuery绑定的事件,而不是通过其他方式。 在Chrome上,这只记录jquery
: http : //jsfiddle.net/LYxD4/ 。
$("#x").get(0) .addEventListener("click", console.log.bind(console, "native"), false); $("#x").on("click", console.log.bind(console, "jquery")); $("#x").trigger("click");
您可以改为使用.dispatchEvent
: http : //jsfiddle.net/LYxD4/1/ 。
var event = document.createEvent("HTMLEvents"); event.initEvent("click", true, true); $(...).get(0).dispatchEvent(event);
以上就是jQuery教程分享QUnit for javascript测试事件相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/561878.html