1

このようなものが機能しない理由を特定しようとしています:

$('a').focus( function() {
  $(this).click(); 
});

バックグラウンド:

さまざまな要素 (テキスト ボックスなど) にタブ移動すると、div 内のアンカーへのリンクがトリガーされるフォームを作成しようとしています。

これを行うより良い方法はありますか?

4

1 に答える 1

0
 $('yourInput').on('focus', function(){
      $('yourAnchor').trigger('click');
 });

正常に動作するはずですが、新しい要素が「クリック」されたため、入力フィールドへのフォーカスが失われる可能性があります。代わりにjQuery scrollToプラグインを使用することをお勧めします。これにより、次のようなことが可能になります。

 $('yourInput').on('focus', function(){
       $('messageArea').scrollTo('yourAnchor');
 });

これは、ブラウザのイベントをトリガーすることなく、素敵なアニメーションの方法でスクロールが発生することでした。

投稿したコードが失敗する理由の一部は、1. アンカーに常にフォーカス イベントがあるとは限らない、2. フォーカスの直後にクリックしても冗長で、探している変更が発生しない可能性があるためです。

于 2012-05-15T18:53:29.510 に答える