码迷,mamicode.com
首页 > 其他好文 > 详细

QUnit使用笔记-3测试用户操作

时间:2014-10-15 17:43:11      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   使用   ar   java   strong   sp   div   

模拟操作:

  • elem.trigger(event);
  • elem.triggerHandler(event);
    • triggerHandler的不同:
      • 不会引起事件的默认行为
      • .trigger() 会操作 jQuery 对象匹配的所有元素,而 .triggerHandler() 只影响第一个匹配元素。
      • 由 .triggerHandler() 创建的事件不会在 DOM 树中冒泡。
      • 该方法的返回的是事件处理函数的返回值,而不是 jQuery 对象。
  • $.Event(event); 如果事件需要依赖特定的操作其他操作,则要使用Event,并设置属性:
    event = $.Event("keydown");  //keydown event;
    event.keyCode = 9;
    $doc.trigger(event);//can use triggerHandler() insteadof trigger;

  例子:

function keyLogger(target) {
    if(!(this instanceof keyLogger)) {
        return new keyLogger(target);
    };
    this.target = target;
    this.log = [];
    var self = this;
    this.target.off("keydown").on("keydown", function(event) {
        self.log.push(event.keyCode);
    });
}

QUnit.test("keylogger api behavior", function(assert) {
    var event,
        $doc = $(document),
        keys = keyLogger($doc);

    //trigger event
    event = $.Event("keydown");  //keydown event;
    event.keyCode = 9;
    $doc.trigger(event);//can use triggerHandler() insteadof trigger;


    //verify expected behavior
    assert.equal(keys.log.length,1,"a key was logged");
    assert.equal(keys.log[0],9,"correct key was logged");    
});

  

 

QUnit使用笔记-3测试用户操作

标签:style   blog   io   使用   ar   java   strong   sp   div   

原文地址:http://www.cnblogs.com/jinkspeng/p/4026457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!