diff --git a/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.js b/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.js index b6c20d2c8..fc979cc06 100644 --- a/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.js +++ b/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.js @@ -39,7 +39,7 @@ var eventBuilder = function(e) { if(instance) { params.bindEntityCls && (e.bemTarget = $(this).bem(params.bindEntityCls)); - fn.call(instance, e); + fn.apply(instance, arguments); } }; } diff --git a/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.spec.js b/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.spec.js index 945eddfa6..e460483c3 100644 --- a/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.spec.js +++ b/common.blocks/i-bem-dom/__events/_type/i-bem-dom__events_type_dom.spec.js @@ -81,6 +81,13 @@ describe('DOM events', function() { spy3.args[0][2].should.have.been.equal(data); }); + it('should pass data to handler', function() { + var data = { test : 'data' }; + block1.domElem.trigger('click', data); + + spy1.args[0][1].should.have.been.equal(data); + }); + it('should properly bind once handler', function() { block1.domElem.trigger('click'); spy4.should.have.been.called;