From 780c59b89d3b7fb9bcc480aa3173693a9d633853 Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Wed, 16 Nov 2011 10:35:53 -0500 Subject: [PATCH] Fix #10791. SVG clamors for special treatment of its class names. --- src/event.js | 2 +- test/unit/event.js | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/event.js b/src/event.js index c6a711882..57fe00cbe 100644 --- a/src/event.js +++ b/src/event.js @@ -21,7 +21,7 @@ var rformElems = /^(?:textarea|input|select)$/i, return ( (!m[1] || elem.nodeName.toLowerCase() === m[1]) && (!m[2] || elem.id === m[2]) && - (!m[3] || m[3].test( elem.className )) + (!m[3] || m[3].test( ((elem.attributes || {})[ "class" ] || {}).value )) ); }, hoverHack = function( events ) { diff --git a/test/unit/event.js b/test/unit/event.js index c207d0289..eb5f98fb8 100644 --- a/test/unit/event.js +++ b/test/unit/event.js @@ -1184,6 +1184,31 @@ test(".trigger() doesn't bubble load event (#10717)", function() { jQuery( window ).off( "load" ); }); +test("Delegated events in SVG (#10791)", function() { + expect(2); + + var svg = jQuery( + ''+ + ''+ + ''+ + '' + ).appendTo( "body" ); + + jQuery( "body" ) + .on( "click", "#svg-by-id", function() { + ok( true, "delegated id selector" ); + }) + .on( "click", ".svg-by-class", function() { + ok( true, "delegated class selector" ); + }) + .find( "#svg-by-id, .svg-by-class" ) + .trigger( "click" ) + .end() + .off( "click" ); + + svg.remove(); +}); + test("jQuery.Event( type, props )", function() { expect(5); -- 2.39.5