Commit 04dbdb75 authored by Robert Katic's avatar Robert Katic Committed by John Resig

Corrected RegExp to match event namespaces. Fixes #5303.

parent ac00fe5b
...@@ -133,7 +133,7 @@ jQuery.event = { ...@@ -133,7 +133,7 @@ jQuery.event = {
var namespaces = type.split("."); var namespaces = type.split(".");
type = namespaces.shift(); type = namespaces.shift();
var all = !namespaces.length, var all = !namespaces.length,
namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join(".*\\.") + "(\\.|$)"), namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join("\\.(?:.*\\.)?") + "(\\.|$)"),
special = this.special[ type ] || {}; special = this.special[ type ] || {};
if ( events[ type ] ) { if ( events[ type ] ) {
...@@ -291,7 +291,7 @@ jQuery.event = { ...@@ -291,7 +291,7 @@ jQuery.event = {
// Cache this now, all = true means, any handler // Cache this now, all = true means, any handler
all = !namespaces.length && !event.exclusive; all = !namespaces.length && !event.exclusive;
var namespace = new RegExp("(^|\\.)" + namespaces.slice(0).sort().join(".*\\.") + "(\\.|$)"); var namespace = new RegExp("(^|\\.)" + namespaces.slice().sort().join("\\.(?:.*\\.)?") + "(\\.|$)");
handlers = ( jQuery.data(this, "events") || {} )[ event.type ]; handlers = ( jQuery.data(this, "events") || {} )[ event.type ];
......
...@@ -192,6 +192,10 @@ test("bind(), multi-namespaced events", function() { ...@@ -192,6 +192,10 @@ test("bind(), multi-namespaced events", function() {
jQuery("#firstp").bind("click.test.abc",function(e){ jQuery("#firstp").bind("click.test.abc",function(e){
check("click.test.abc", "Namespaced click triggered"); check("click.test.abc", "Namespaced click triggered");
}); });
// Those would not trigger/unbind (#5303)
jQuery("#firstp").trigger("click.a.test");
jQuery("#firstp").unbind("click.a.test");
// Trigger both bound fn (1) // Trigger both bound fn (1)
jQuery("#firstp").trigger("click.test.abc"); jQuery("#firstp").trigger("click.test.abc");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment