Klaus....
Generally, I agree with you with the following caveat. On PPK's site
(http://www.quirksmode.org/js/events_properties.html) he points out a
problem with safari where events get triggered on text nodes instead
of elements. I am hesitant to do
if (e.target.nodeType == 3) { // defeat Safari bug
e.target = e.target.parentNode;
}
as I don't know whether or not some strange side effects might occur.
I suspect not, but I was being cautious.
A
On 10/20/06, Klaus Hartl <[EMAIL PROTECTED]> wrote:
>
> > fix: function(event) {
> > if ( event ) {
> > if( !event.preventDefault ) {
> > event.preventDefault = function() {
> > this.returnValue = false;
> > };
> > }
> > if( !event.stopPropagation ) {
> > event.stopPropagation = function() {
> > this.cancelBubble = true;
> > };
> > }
> > /*Taken from PPK:
> > http://www.quirksmode.org/js/events_properties.html
> > */
> > var targ;
> > if (event.target) {
> > targ = event.target;
> > }
> > else if( event.srcElement ) {
> > targ = event.srcElement;
> > }
> > if (targ.nodeType == 3) { // defeat Safari bug
> > targ = targ.parentNode;
> > }
> > event.realTarget = targ;
> > }
> > return event;
> > }
> >
> > Now, I haven't actually tested this so there's bound to be a bug
> > somewhere in that code but you get the general idea.
> >
>
>
> Hi Adam,
>
> interesting, I was talking about normalizing the target property quite
> recently as well.
>
> I also think that e.target should be fixed. But I wouldn't use a new
> variable targ for that, instead simply attach target to e in IE:
>
> if (e.srcElement) e.target = e.srcElement;
>
> First I wasn't sure if that would break existing scripts that rely on
> the as-is state. But as most scripts go like this:
>
> var evTarget = e.target || e.srcElement;
>
> that would still work out fine.
>
>
> John or Jörn, shouldn't that be added to the event fix? And maybe the
> two or three other properties that are different from each other?
>
>
> -- Klaus
>
> _______________________________________________
> jQuery mailing list
> [email protected]
> http://jquery.com/discuss/
>
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/