diff --git a/spec/stdlib/jquery-extensions-spec.coffee b/spec/stdlib/jquery-extensions-spec.coffee
index dbda20062..4a2d22d7b 100644
--- a/spec/stdlib/jquery-extensions-spec.coffee
+++ b/spec/stdlib/jquery-extensions-spec.coffee
@@ -5,6 +5,7 @@ describe 'jQuery extensions', ->
[returnValue, element, events] = []
beforeEach ->
+ returnValue = undefined
element = $("
")
events = []
@@ -22,4 +23,19 @@ describe 'jQuery extensions', ->
it 'does not call subsequent handlers', ->
returnValue = false
element.trigger 'foo'
- expect(events).toEqual [2]
\ No newline at end of file
+ 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]
diff --git a/src/stdlib/jquery-extensions.coffee b/src/stdlib/jquery-extensions.coffee
index 2b7c03876..aef35305f 100644
--- a/src/stdlib/jquery-extensions.coffee
+++ b/src/stdlib/jquery-extensions.coffee
@@ -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())