如何测试以查看事件处理程序是否绑定到使用JSUnit的节点?使用JSUnit测试绑定事件?
这是我有:
var mynode = document.getElementById("mynode");
assertNotNull(mynode);
MyLibrary.attachEvent(mynode, "click", function(){ return true; });
assertEquals(typeof mynode.onclick, typeof function(){ return true; });
但mynode.onclick的类型,当然,对象;而函数的类型是...而且是一个函数。
如果我只是尝试assertEquals(mynode.onclick, function(){ return true; });
断言也失败。
有什么建议吗?
如果在使用addEventListener或attachEvent(IE)设置的事件上调用.toString(),则会出现错误。在附加事件之前或之后未定义mynode.onclick。如果你打印出来,你可以看到它是一个空对象。 – KeatsKelleher 2011-03-17 14:55:19
啊,好的,我不知道'MyLibrary.attachEvent'是如何工作的。 – rdamborsky 2011-03-17 15:12:29
MyLibrary.attachEvent()测试它是否应该使用attachEvent()(用于IE)或addEventListener(用于其他所有内容)。然后它执行附件。 – KeatsKelleher 2011-03-17 15:17:27