所以在接下来的小提琴中,我有一个单元测试失败,而且很奇怪。似乎jQuery的.trigger
方法被触发但是事件甚至没有冒泡到它最近的父级。
http://jsfiddle.net/fresheyeball/8875S/2/
it.only "clicking on and off", (done) ->
$('#the-zone').parent().on 'click', ->
done()
$('#the-zone').trigger 'click'
expect(scope.didFire).to.be.null
我没有做任何事情来干扰冒泡。这里发生了什么?它与karma和phantomjs一起工作正常。
我知道事件冒泡在jsfiddle工作,我无法弄清楚为什么它不能在我的例子中工作。
答案 0 :(得分:1)
您在#the-zone
上有一个额外的点击处理程序可防止冒泡。删除它会使你的测试通过。
$('#the-zone').off("click").trigger 'click'
找出点击事件的来源并在那里清理它。我不熟悉coffeescript mocha或angularjs所以我无法找到src点击处理程序。