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?

Reply via email to