mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-20 23:48:05 +03:00
$.fn.preempt takes namespaced event names
This commit is contained in:
parent
6a260a8359
commit
6037d83f2b
@ -5,6 +5,7 @@ describe 'jQuery extensions', ->
|
||||
[returnValue, element, events] = []
|
||||
|
||||
beforeEach ->
|
||||
returnValue = undefined
|
||||
element = $("<div>")
|
||||
events = []
|
||||
|
||||
@ -22,4 +23,19 @@ describe 'jQuery extensions', ->
|
||||
it 'does not call subsequent handlers', ->
|
||||
returnValue = false
|
||||
element.trigger 'foo'
|
||||
expect(events).toEqual [2]
|
||||
expect(events).toEqual [2]
|
||||
|
||||
describe 'when the event is namespaced', ->
|
||||
it 'calls handler', ->
|
||||
element.preempt 'foo.bar', -> events.push(4)
|
||||
element.trigger 'foo'
|
||||
expect(events).toEqual [4,2,1,3]
|
||||
|
||||
events = []
|
||||
element.trigger 'foo.bar'
|
||||
expect(events).toEqual [4]
|
||||
|
||||
events = []
|
||||
element.off('.bar')
|
||||
element.trigger 'foo'
|
||||
expect(events).toEqual [2,1,3]
|
||||
|
@ -19,5 +19,6 @@ $.fn.preempt = (eventName, handler) ->
|
||||
@on eventName, (e) ->
|
||||
if handler() == false then e.stopImmediatePropagation()
|
||||
|
||||
handlers = @data('events')[eventName]
|
||||
eventNameWithoutNamespace = eventName.split('.')[0]
|
||||
handlers = @data('events')[eventNameWithoutNamespace]
|
||||
handlers.unshift(handlers.pop())
|
||||
|
Loading…
Reference in New Issue
Block a user