我正在编写单元测试,我需要触发 mouseenter 以确保处理程序附加到某个元素并在回调中执行正确的操作。但是,我花了很多时间在它上面并意识到它似乎只是鼠标事件......我想。http://jsbin.com/EZIriqA/1/edit
它应该发出两个警报。一个用于“双击”,一个用于“鼠标输入”。它只会发射一个。代码是相同的(我通过复制和粘贴它并只是更改事件名称来确保)。
这是代码:
$('foo').addEvent('mouseenter:relay(li[data-type])', function () {
alert('Mouse Enter');
});
$('foo').fireEvent('mouseenter', {
target: $$('li[data-type]')[0]
});
$('foo').addEvent('dblclick:relay(li[data-type])', function () {
alert('Double Click');
});
$('foo').fireEvent('dblclick', {
target: $$('li[data-type]')[0]
});
如果我不能让它触发,我将如何在 mouseenters 中测试代码?我可以将所有代码移动到类上的方法中,在此处分配它们,但我没有编写此代码,我编写单元测试的原因是为了安全地重构所有代码。