繁体   English   中英

QUnit for JavaScript测试事件

[英]QUnit for javascript Testing on events

我真的是javascript测试新手。 我能够测试qunit的所有其他功能。 但是无法弄清楚如何使用qunit测试事件处理程序功能。 在看到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上,这只会记录jqueryhttp : //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");​

您可以改用.dispatchEventhttp : //jsfiddle.net/LYxD4/1/

var event = document.createEvent("HTMLEvents");
event.initEvent("click", true, true);

$(...).get(0).dispatchEvent(event);​

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM