title: Pass mock DOM event to directive handler without jQuery
body: <p>I have a very simple directive whose purpose is just to cancel the <code>dragstart</code> event:</p>
  
  <pre><code>link: function(scope, element) {
    element.on('dragstart', function(e) {
      e.preventDefault();
    })
  }
  </code></pre>
  
  <p>How can I test this in a Jasmine test? I have the following test that attempts to spy on an Event object, and pass it to the handler:</p>
  
  <pre><code>var mockEvent; 
  
  beforeEach(function() {
    mockEvent = new Event('dragstart');
    spyOn(mockEvent,'preventDefault');
  });
  
  it('should call preventDefault', function () {
    element.triggerHandler('dragstart', mockEvent);
    expect(mockEvent.preventDefault).toHaveBeenCalled();
  });
  </code></pre>
  
  <p>But the test fails. You can <a href="http://plnkr.co/edit/RaNifv7e0m7zSPMJDgmP?p=preview">see this at this Plunker.</a>. How can I test this (/refactor the directive to make it testable)?</p>
  
  <p>Edit: Ideally without including jQuery.
  Edit: changed tags</p>