2012-03-19 13 views
1

divとそのすべてのサブ要素でテキスト選択を無効にする構文は何ですか?私は$( "#MyContent).disableSelection()を使用して、下のコードのテキストをすべて無効にし、Firefoxで動作し、3行すべてを一度に無効にします。Divおよびすべての子要素のテキスト選択を無効にするJavascript/Jquery構文?

IEエクスプローラ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> 
+0

@gideon彼の質問があるとして、それらは、重複を正確ではありませんInternet Explorerに関する問題を解決します。 –

+0

@Austin Yea私は申し訳ありませんレイ、うん、私は質問を誤解しています。 – gideon

答えて

1

試みることができる。これは、私の作品:

$('#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

これはほとんどの場合有効です。 IEでは、MyContent以外のテキストを選択してからMyContentにドラッグすると、MyContent内のテキストを選択することができます。 – Ray

0

あなたは

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

それは動作していないようです。 – Ray

+0

これは 'each'呼び出しを実行する必要がありますか?たぶん '.children()。disableSelection()'が良いはずです。または、すべての強力なキャッチ: '$( '#MyContent *')。disableSelection()' !!!/evillaugh –

+0

ありがとう、しかしそれらはIEエクスプローラでも動作しません。 – Ray

関連する問題