Синтаксис Javascript / Jquery для отключения выделения текста на элементе Div и всех дочерних элементах? - PullRequest
1 голос
/ 19 марта 2012

Каков синтаксис для отключения выделения текста в элементе div и всех его подэлементах. Я использую $ ("# MyContent) .disableSelection (), чтобы отключить весь текст в приведенном ниже коде, и он работает в Firefox и отключить все три строки одновременно.

В IE explorer 9 это не работает с дочерними элементами, поэтому чтобы отключить весь текст, я должен сделать $ ("# text1) .disableSelection (), $ (" # text2) .disableSelection (), $ ("# text3) .disableSelection (). Каков синтаксис, чтобы отключить или применить это ко всем дочерним элементам сразу?

<div id="MyContent">
  <div id="text1">Hello World</div>
  <div id="text2">Goodbye</div>
  <div id="text3">Asdf</div>
</div>

Ответы [ 2 ]

1 голос
/ 19 марта 2012

Это работает для меня:

$('#MyContent').children().each(function(i, c) {
    disableSelection(c);
});

function disableSelection(target) {
    console.debug(target);

    if (typeof target.onselectstart != "undefined")             // For IE
        target.onselectstart = function() { return false };
    else if (typeof target.style.MozUserSelect != "undefined")  // For Firefox
        target.style.MozUserSelect = "none";
    else                                                        // All other routes (Opera, etc.).
        target.onmousedown = function() { return false };

    target.style.cursor = "default";
}

Демо : http://jsfiddle.net/9vLFD/4/

0 голосов
/ 19 марта 2012

Вы можете попробовать

$('#MyContent').children().each(function(i,c){
    $(c).disableSelection();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...