jQuery .trigger没有冒充jsfiddle

时间:2014-01-03 22:23:37

标签: jquery angularjs coffeescript mocha jsfiddle

所以在接下来的小提琴中,我有一个单元测试失败,而且很奇怪。似乎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工作,我无法弄清楚为什么它不能在我的例子中工作。

1 个答案:

答案 0 :(得分:1)

您在#the-zone上有一个额外的点击处理程序可防止冒泡。删除它会使你的测试通过。

http://jsfiddle.net/8875S/4/

$('#the-zone').off("click").trigger 'click'

找出点击事件的来源并在那里清理它。我不熟悉coffeescript mocha或angularjs所以我无法找到src点击处理程序。