[Laszlo-dev] For Review: Change 20090603-hqm-U Summary: fix for text selection in DHTML
André Bargull
andre.bargull at udo.edu
Sun Jun 7 04:29:44 PDT 2009
That seems to be the default behaviour in IE, cf. attached testcase.
On 6/6/2009 10:45 PM, Henry Minsky wrote:
> What I cannot figure out is why in IE7, if you drag-select over an
> inputtext view, only the input text in that view gets selected, even if
> you wipe the mouse over the entire app, whereas if you drag-select over a
> selectable <text>, and wipe the mouse over the app, everything in the
> app gets selected.
>
> e.g.,
>
> <canvas width="100%" height="80%" >
>
> <simplelayout spacing="6"/>
> <inputtext id="itext" y="170" width="200">This is LzInputText</inputtext>
> <edittext width="200">This is edittext</edittext>
> <edittext width="200">This is also edittext</edittext>
> <text selectable="true">This is selectable text</text>
> <text selectable="false">This is nonselectable text</text>
>
> </canvas>
>
> If you drag-select in the "This is selectable text" view, and drag the
> mouse over the
> nonselectable-text view, it adds that to the selection.
>
> If you drag-select in the edittext or the inputtext, it seems restricted
> to just that line of text.
> Is there something else we are doing in the input text sprite that keeps the
> other text elements from being selectable?
>
>
> On Sat, Jun 6, 2009 at 2:24 PM, André Bargull <andre.bargull at udo.edu
> <mailto:andre.bargull at udo.edu>> wrote:
>
> Maybe it works to cancel selection if it starts on a non-selectable
> element.
>
> > // prevent text selection in IE
> > // can't use lz.embed.attachEventHandler because we need to
> cancel events
> > if (LzSprite.prototype.quirks.ie_prevent_selection) {
> > document.onselectstart = function () {
> > var src = window.event.srcElement;
> > if (src.owner instanceof LzTextSprite) {
> > if (! src.owner.selectable) {
> > // Debug.write("prevent selection on non-selectable
> text")
> > return false;
> > }
> > } else {
> > // Debug.write("prevent selection on non-text")
> > return false;
>
> > }
> > }
> > }
>
>
>
> On 6/6/2009 6:27 PM, Henry Minsky wrote:
>
>
>
> And one bug in IE:
> Also open the component sampler, mouse down and then move cursor
> while still holding the mouse button.
> Expected: no text selection
> Actual: text selection for all text elements
> Apparently global onselectstart and ondrag were canceled in
> "LzInputTextSprite.js" to avoid this behaviour, cf. [3].
>
>
> But having that code in LzInputTextSprite:
>
> document.onselectstart = LzTextSprite.prototype.__cancelhandler;
> document.ondrag = LzTextSprite.prototype.__cancelhandler;
>
> causes text selection to stop working in globally in IE7, and
> Safari/OSX.
>
> (Actually, inputtext selection still works in Safari for some
> reason with this code, but
> regular selectable non-input text cannot be selected )
>
> Do you have any ideas how we can keep text selection working in
> IE7/Safari but
> not have the unwanted selection of everything?
>
>
>
>
> --
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com <mailto:hminsky at laszlosystems.com>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20090607/82d61e1b/drag_select.html
More information about the Laszlo-dev
mailing list