Permalink
Browse files

Fix #10791. SVG clamors for special treatment of its class names.

  • Loading branch information...
dmethvin committed Nov 16, 2011
1 parent 80797f5 commit 780c59b89d3b7fb9bcc480aa3173693a9d633853
Showing with 26 additions and 1 deletion.
  1. +1 −1 src/event.js
  2. +25 −0 test/unit/event.js
View
@@ -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 ) {
View
@@ -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(
+ '<svg height="1" version="1.1" width="1" xmlns="http://www.w3.org/2000/svg">'+
+ '<rect class="svg-by-class" x="10" y="20" width="100" height="60" r="10" rx="10" ry="10"></rect>'+
+ '<rect id="svg-by-id" x="10" y="20" width="100" height="60" r="10" rx="10" ry="10"></rect>'+
+ '</svg>'
+ ).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);

0 comments on commit 780c59b

Please sign in to comment.