このようなものが機能しない理由を特定しようとしています:
$('a').focus( function() {
$(this).click();
});
バックグラウンド:
さまざまな要素 (テキスト ボックスなど) にタブ移動すると、div 内のアンカーへのリンクがトリガーされるフォームを作成しようとしています。
これを行うより良い方法はありますか?
このようなものが機能しない理由を特定しようとしています:
$('a').focus( function() {
$(this).click();
});
バックグラウンド:
さまざまな要素 (テキスト ボックスなど) にタブ移動すると、div 内のアンカーへのリンクがトリガーされるフォームを作成しようとしています。
これを行うより良い方法はありますか?
$('yourInput').on('focus', function(){
$('yourAnchor').trigger('click');
});
正常に動作するはずですが、新しい要素が「クリック」されたため、入力フィールドへのフォーカスが失われる可能性があります。代わりにjQuery scrollToプラグインを使用することをお勧めします。これにより、次のようなことが可能になります。
$('yourInput').on('focus', function(){
$('messageArea').scrollTo('yourAnchor');
});
これは、ブラウザのイベントをトリガーすることなく、素敵なアニメーションの方法でスクロールが発生することでした。
投稿したコードが失敗する理由の一部は、1. アンカーに常にフォーカス イベントがあるとは限らない、2. フォーカスの直後にクリックしても冗長で、探している変更が発生しない可能性があるためです。