0

jQueryラウンドアバウトカルーセルで画像(中央画像)にフォーカスするためのクリック機能を提供しようとしています。

この URL のhttp://fredhq.com/projects/roundabout/demos/images他の Web ページに移動するクリック機能が必要です。この関数は、他の子イメージではなく、中心(フォーカス) イメージにのみ必要です。他の画像の場合、フォーカスが合うはずです。その後、クリックする必要があります。

例えば ​​:

中央またはフォーカス画像をクリックすると、(新しいウィンドウを開く)google.comに移動する必要があります

質問:

  1. フォーカス画像の onclick イベントを呼び出す方法はありますか?
  2. ラウンドアバウト カルーセルでは不可能な場合、これをサポートする他のカルーセルはありますか。
  3. http://fredhq.com/projects/roundabout このクリック イベントに使用できる API はありますか?
4

1 に答える 1

2

focusプラグインによって発生するイベントを利用できます。

$('li').bind('focus', function(e){ console.log(e.target); })

liラウンドアバウトの HTML の子ノードはどこにあり、e.target現在カルーセルのフォーカス/前面中央にある DOM 要素になります。

アップデート

フォーカスされた要素がクリックされたときに何かをしようとしているので、必要なのはイベントだけではないことに気付きました。この場合、jQuery のメソッドまたは(使用している jQuery のバージョンに応じて) を使用できます。focuson()delegate()

// jQuery >= 1.7
$('ul').on('click', '.roundabout-in-focus', function(e) { console.log(this); });

// jQuery >= 1.4.2
$('ul').delegate('.roundabout-in-focus', 'click', function(e){ console.log(this); })

これは、イベント委譲を使用して親ノードにリスナーをアタッチしulます。これは、クリックされた要素にroundabout-in-focus、ラウンドアバウト プラグインがデフォルトでフォーカスされたクラスを与えるように見えるクラスがある場合にのみ起動します。常にそうであること。コールバックでは、クリックさthisれた要素を参照します。li

于 2012-04-14T09:29:35.320 に答える