1

JavascriptまたはjQueryを使用して、HTMLでクリックされた特定の画像からaltタグを取得し、その値をキャプションフィールドにコピーしようとしています。

function change_image(diff){
  var newAlt = $(this).attr('alt');
  position = (position + diff + hrefs.length) % hrefs.length;
  revealImage(hrefs[position]);
  $nav.find('.counter').html(newAlt);
}

それは私が今のところ持っているものであり、それは機能しません。

4

1 に答える 1

1

this関数内でキーワードを使用しています。次のようにバインドすると、イベントをトリガーした要素を参照します。

$('img').click(change_image);

しかし、関数に引数があるため、通常の関数呼び出しで呼び出していると思います。そのようにして、コンテキスト (thisキーワード) は保持されません。次のことができます。

$('img').click(function () {
  change_image.call(this, 5); // preserve the context and pass a diff value
});
于 2009-09-18T16:16:50.457 に答える