[Laszlo-dev] text selection and links not working in iframe (html element) in Safari

P T Withington ptw at pobox.com
Tue Jun 30 13:27:06 PDT 2009


Well something is weird because normally _adding_ a handler to mouse  
click does not cancel/intercept the event.  If you just add a handler  
and don't call suppressDefault or cancelBubble, then the event should  
be seen by all the listeners (and by the browser default action).

I know you were working in this area recently with respect to the  
keyboard update method that tries to pick off the shift keys from the  
mouse event.  Maybe something went awry there?  Or maybe the way the  
iframe manager is registering to listen to mouse events it screwing  
things up.

If you listen in the 'capture' phase (i.e., grab the event before it  
is sent to any DOM elements, you can intercept the event; but I did  
not think we did that.

On 2009-06-30, at 16:00EDT, Henry Minsky wrote:

> The text selection getting nuked is a bug in safari. The inability  
> to click
> on a <a> link happens
> in both safari and IE7 (it is due to the intercept of the 'click'  
> event)
>
> On Tue, Jun 30, 2009 at 3:58 PM, P T Withington <ptw at pobox.com> wrote:
>
>> On 2009-06-30, at 15:20EDT, Henry Minsky wrote:
>>
>> I isolated the bug in http://openlaszlo.org/jira/browse/LPP-8303  
>> down to
>>> this code in iframemanager.js
>>>
>>> in __setSendMouseEvents , the iframemanager binds the 'mousedown'  
>>> and
>>> 'click' events
>>>
>>>              lz.embed.attachEventHandler(iframe.document,  
>>> 'mousedown',
>>> lz.embed.iframemanager, '__mouseEvent', id);
>>>
>>>              lz.embed.attachEventHandler(iframe.document, 'click',
>>> lz.embed.iframemanager, '__mouseEvent', id);
>>>
>>> And those cause Safari to no longer be able to drag-select text or  
>>> to
>>> click
>>> on links.
>>>
>>> Is there some way we can re-send those events back to the browser,  
>>> if
>>> thise
>>> code is  intercepting them?
>>>
>>
>> These events all bubble, but are also all cancellable.  Is the event
>> handler cancelling them or suppressing the default action?
>>
>> We're not grabbing these events in capture phase (before any DOM  
>> element
>> gets to see them) are we?
>>
>> Is this _only_ a bug in Safari?
>>
>
>
>
> -- 
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com



More information about the Laszlo-dev mailing list