無効な入力フィールドでイベントをキャプチャする方法
無効な入力フィールドは通常、イベント リスナーを処理しません。このような入力によるユーザー操作に基づく機能を有効にする必要がある場合、これは困難になる可能性があります。
回避策:
この問題を解決するには、イベント ハンドラーを設定します。ブラウザは無効な要素から発生したイベントを 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 サイトの他の関連記事を参照してください。