MouseDown Bug In Safari

Click on the button and hold down the mouse while keeping still. If the mousedown event doesn't appear in the text box, move the mouse slightly to trigger the event. Test movie is here. The behaviour on the button square is this:

on mouseDown me
  member("AField").text = "mousedown"
end

on mouseUp me
  member("AField").text = "mouseUp"
end

This bug can be seen in Safari 1 and Safari 2. KeyDown events can also get held up, though it is harder to identify the exact cicumstances that cause the bad behaviour (though moving the mouse does seem to cause all the 'blocked' keydown events to fire off).

Last updated 1st January, 1970

barney said

Surprise, surprise - OmniWeb also exhibits the same (lack of) behaviour - I wasnt expecting this but then remembered that it now uses the same engine, n'est pas? Presumably they will get over this eventually?

Posted 8th June, 2006

Kiel said

Have you reported the bug to Apple at their bug Reporting system? Or better still to the WebKit team here?

Posted 12th August, 2007

Kiel said

Ok that HTML did not work. Try the webkit bug reporter at http://webkit.org/quality/reporting.html

Posted 12th August, 2007

Luke said

Hi,
Yes - its been logged with WebKit Bugzilla since at least last year:
http://bugs.webkit.org/show_bug.cgi?id=11616
Cheers,
Luke

Posted 12th August, 2007

Bruce said

I run a ton of in-browser .edu stuff, and we have Macs--thus Safari. This makes for an incredibly ugly user experience. With that in mind (having tried many dozens of failed workarounds), here's some code which appears to simulate a correct mousedown handler in Safari .dcr. Inelegant, but...
property pInDown,pMySprite
on beginSprite me
pInDown = false
pMySprite = sprite(me.spriteNum)
end beginSprite
on mouseWithin me
if (not pInDown) and _mouse.mouseDown then
pInDown = true
me.doDownStuff()
end if
end mousewithin
on doDownStuff me --code that shoud be in 'on mouseDown' handler goes here
beep
end doDownStuff
on mouseEnter me
if _mouse.mouseDown then
pInDown = true
end if
end mouseEnter
on mouseLeave me
pInDown = false
end mouseLeave
on mouseUp me
end mouseUp

Posted 21st June, 2008

Add Your Comment






[Preview]


Verification image

Note - paragraph formatting and links (h-refs) are handled automatically. Most HTML is removed (though some like <em><strong> are allowed). Email addresses are never displayed.

Pithy and yet enlightening comments most welcome. Spammy or unreasonably obnoxious comments zapped without apology


© 2006 MeccaMedialight. Site Powered by Wrangler 8.