From: Brandon Aaron Date: Sun, 31 Dec 2006 22:03:34 +0000 (+0000) Subject: Fix for #504 X-Git-Tag: 1.1a~55 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b06dd433b2d77e902c3f643cf791d2a10f63cea6;p=jquery.git Fix for #504 --- diff --git a/src/event/event.js b/src/event/event.js index 02f3f8198..569a4d0ab 100644 --- a/src/event/event.js +++ b/src/event/event.js @@ -134,12 +134,22 @@ jQuery.event = { event.pageY = event.clientY + (e.scrollTop || b.scrollTop); } - // Check safari and if target is a textnode - if ( jQuery.browser.safari && event.target.nodeType == 3 ) { - // target is readonly, clone the event object - event = jQuery.extend({}, event); + // check if target is a textnode (safari) + if (event.target.nodeType == 3) { + // store a copy of the original event object and clone because target is read only + var originalEvent = event; + event = jQuery.extend({}, originalEvent); + // get parentnode from textnode - event.target = event.target.parentNode; + event.target = originalEvent.target.parentNode; + + // add preventDefault and stopPropagation since they will not work on the clone + event.preventDefault = function() { + return originalEvent.preventDefault(); + }; + event.stopPropagation = function() { + return originalEvent.stopPropagation(); + }; } // fix preventDefault and stopPropagation