Textarea(またはその他の入力要素)を無効にするには、次の方法があります。
HTMLでは、次のように書くことができます:_<textarea id='mytextarea' disabled></textarea>
_
JQueryから、次のことができます:$("#mytextarea").attr("disabled","disabled");
CSS? CSSでtextareaを無効にすることは可能ですか?
テキストエリアを無効にして表示することはできますが、実際に無効にすることはできません。
JavaScriptを使用すると、HTML disabled
属性によって設定された同じDOM属性を変更するだけなので、HTMLとJavaScriptを使用して本質的に同じことを実行します。ただし、CSSは、DOMの操作を一切行わないため、この図から完全に外れています。CSSが制御するのは、要素の外観ではなく、要素の外観であり、動作ではありません。
プロジェクトには、textareaといくつかのボタンが入ったコンテナーがあります。すべてを無効にするには、次のコードを使用してクラスを追加します。
.disabled {
opacity: 0.3;
}
.disabled:after {
width: 100%;
height: 100%;
position: absolute;
}
<div class="disabled">
<textarea></textarea>
<!-- textarea, buttons and other input elements -->
</div>
不透明度はショーのみですが、:after要素が処理を行います。コンテナ内のすべての要素は、クリックやマウスオーバーに反応しなくなりました(ただし、タブでそれらに到達することはできます)。私のニーズと私の場合、これはうまく機能し、CSSハックが簡単です。
CSSはスタイルを扱います。要素の無効化は機能します。
もちろん、CSSはトランジションのようなものでより機能的になり、それはより灰色の領域です。しかし、CSSの目的はスタイルとして保持することであり、要素の機能制御を制御することではありません。
いいえ、cssは要素を無効にすることはできません。
無効にされたコントロールを "偽造"して、視覚的に無効に見えるようにスタイルを設定できます。
<textarea placeholder="This is a textarea, and it is not clickable" style="pointer-events: none"></textarea>
CSSで要素を完全にクリックできないようにすることができます:point-events: none;
textarea {
pointer-events: none;
border: 1px solid #eee;
padding: 20px;
}
<textarea placeholder="This is a textarea, and it is not clickable"></textarea>
いいえ、CSSでは実行できません。ただし、CSSで入力を「無効」にスタイル設定し、HTMLコードでプロパティmaxlength = "0"を使用して、ユーザーが入力できないようにすることができます。また、ポインターのスタイルを正しいものに変更して、ボックスに書き込むように指示するポインターが表示されないようにしてください。
残念ながら純粋なCSSでは不可能です。Javascriptを使用する必要があります。
これがハックです。
<textArea class="tailLog">This page is waiting for something.</textArea>
<script type="text/javascript">
$(document).ready( function(){
$(".tailLog").off().on("keydown", function(event){
event.preventDefault();
return;
});
});
</script>
それが機能する方法はこれです。ユーザーが何かを入力しようとするたびに、jqueryを使用してイベントをキャッチします。次に、イベントにデフォルトの動作をさせたくないことを伝えます。私が言うようにそれはハックですが、それはピンチで効果的なものです。
上記の回答「残念ながら純粋なCSSでは不可能」に同意します。ただし、親要素のポインターイベントを何も作成できない場合は、機能しますが、要素の検査から元に戻すことができます。
<div class="disabled">
<textarea></textarea>
<!-- textarea, buttons and other input elements -->
</div>
.disabled {
pointer-events: none;;
}