ホームページ > ウェブフロントエンド > CSSチュートリアル > フォームを送信する代わりにテキストエリアに新しい行を挿入する「Shift Enter」を検出するにはどうすればよいですか?

フォームを送信する代わりにテキストエリアに新しい行を挿入する「Shift Enter」を検出するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-30 09:25:13
オリジナル
444 人が閲覧しました

How Can I Detect

「Shift Enter」を検出し、テキストエリアに新しい行を挿入する

デフォルトでは、テキストエリア内で「Enter」キーを押すとフォームが送信されます。ただし、この機能を維持しながら、ユーザーが「Shift」と「Enter」のキーの組み合わせを押して新しい行を作成できるようにしたいと考えています。 JavaScript でこれを実現する方法は次のとおりです。

「Enter」でフォームを送信するスクリプトを制御する場合は、「Shift」キーが押されていないかどうかをチェックするようにコードを変更するだけです。たとえば、これを次のように変更します:

if (evt.keyCode == 13) {
    form.submit();
}
ログイン後にコピー

... を次のように変更します:

if (evt.keyCode == 13 && !evt.shiftKey) {
    form.submit();
}
ログイン後にコピー

ただし、元のコードにアクセスできない場合は、次のスクリプトを使用できます。カーソルがテキストの末尾にない場合でも、目的の動作を実現するには:

function handleEnter(evt) {
    if (evt.keyCode == 13 && evt.shiftKey) {
        if (evt.type == "keypress") {
            pasteIntoInput(this, "\n");
        }
        evt.preventDefault();
    }
}

// Handle both keydown and keypress for Opera as it suppresses default key action in keypress
$("#your_textarea_id").keydown(handleEnter).keypress(handleEnter);
ログイン後にコピー

このスクリプトは、「Shift」「Enter」キーをチェックします。組み合わせ。検出されると、pasteIntoInput 関数を使用してテキストエリアに改行文字 (「n」) が挿入され、デフォルトのフォーム送信が阻止されます。

以上がフォームを送信する代わりにテキストエリアに新しい行を挿入する「Shift Enter」を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート