【发布时间】:2015-05-13 22:28:20
【问题描述】:
我如何检查是否
$("#myElement").change();
被调用了吗?
我试过了
spy = sinon.spy($("#myElement"), "change");
然后
expect(spy).toHaveBeenCalled();
【问题讨论】:
我如何检查是否
$("#myElement").change();
被调用了吗?
我试过了
spy = sinon.spy($("#myElement"), "change");
然后
expect(spy).toHaveBeenCalled();
【问题讨论】:
您可以通过保留对它的引用来“覆盖”jquery 的更改函数,然后用您自己的函数替换原始引用。新函数完成后,通过 function.apply() 调用原始函数,确保使用正确的上下文(即 this)调用它,如下所示:
var oldChange = $.fn.change;
$.fn.change = function(args) {
console.log("change triggered", args);
oldChange.apply(this,args); };
}
但不确定这是否被认为是最佳做法。还有其他人愿意对此进行权衡吗?
【讨论】: