ホームページ >ウェブフロントエンド >jsチュートリアル >無効になった入力フィールドのイベントをキャプチャするにはどうすればよいですか?

無効になった入力フィールドのイベントをキャプチャするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-16 20:15:16917ブラウズ

How Can I Capture Events on Disabled Input Fields?

無効な入力フィールドでイベントをキャプチャする方法

無効な入力フィールドは通常、イベント リスナーを処理しません。このような入力によるユーザー操作に基づく機能を有効にする必要がある場合、これは困難になる可能性があります。

回避策:

この問題を解決するには、イベント ハンドラーを設定します。ブラウザは無効な要素から発生したイベントを DOM ツリーの上に伝播することが多いためです。ただし、Firefox などの特定のブラウザはこのように動作しません。

ブラウザ間の解決策:

ブラウザ間の完全な互換性を確保するには、透明な無効な入力フィールドの前に

<div> などの要素を追加します。この要素はクリック イベントをキャプチャします:
<div>
$("div > div").click(function (evt) {
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});

この回避策では、透明オーバーレイのクリック イベントにより、無効になっている入力フィールドが有効になり、フォーカスが与えられます。

デモ:

このソリューションの動作は次の場所で確認できます。 http://jsfiddle.net/RXqAm/170/ (attr の代わりに prop で jQuery 1.7 を使用)。

以上が無効になった入力フィールドのイベントをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:ヘッダー構成が正しいにもかかわらず、ローカルホストの CORS リクエストが失敗するのはなぜですか?次の記事:ヘッダー構成が正しいにもかかわらず、ローカルホストの CORS リクエストが失敗するのはなぜですか?

関連記事

続きを見る