Skip to content
Permalink
Browse files

Make sure non-left-click events don't bubble. Fixes #3861.

  • Loading branch information
irae authored and jeresig committed Jan 23, 2010
1 parent 8eef3a4 commit 150e44cddaa606f9299d4e44ea8a0c01ad8f7166
Showing with 13 additions and 1 deletion.
  1. +5 −0 src/event.js
  2. +8 −1 test/unit/event.js
@@ -864,6 +864,11 @@ function liveHandler( event ) {
related, match, fn, elem, j, i, l, data,
live = jQuery.extend({}, jQuery.data( this, "events" ).live);

// Make sure we avoid non-left-click bubbling in Firefox (#3861)
if ( event.button && event.type === "click" ) {
return;
}

for ( j in live ) {
fn = live[j];
if ( fn.live === event.type ||
@@ -608,7 +608,7 @@ test("toggle(Function, Function, ...)", function() {
});

test(".live()/.die()", function() {
expect(61);
expect(62);

var submit = 0, div = 0, livea = 0, liveb = 0;

@@ -675,6 +675,13 @@ test(".live()/.die()", function() {
equals( livea, 6, "stopPropagation Click on inner div" );
equals( liveb, 3, "stopPropagation Click on inner div" );

// Make sure click events only fire with primary click
var event = jQuery.Event("click");
event.button = 1;
jQuery("div#nothiddendiv").trigger(event);

equals( livea, 6, "live secondary click" );

jQuery("div#nothiddendivchild").die("click");
jQuery("div#nothiddendiv").die("click");
jQuery("div").die("click");

0 comments on commit 150e44c

Please sign in to comment.
You can’t perform that action at this time.