0

ユーザーが Facebook ニュースフィードの画像をクリックして何かを行うときに、関数を起動する効果的な方法を知りたいです。

各画像にリスナーを追加できますが、これはあまり効果的ではありません。その他の方法で?

4

1 に答える 1

0

このようなものはどうですか:http://jsfiddle.net/c24w/DJ2ax/4/

HTML

<div id="newsfeed">
    <img src="http://i46.tinypic.com/2cos8hw.png" id="1">
    <img src="http://i46.tinypic.com/2cos8hw.png" id="2">
    <img src="http://i46.tinypic.com/2cos8hw.png" id="3">
    <div><a href="#">Something else clickable</a></div>
</div>

JavaScript

var newsfeed = document.getElementById('newsfeed');

newsfeed.onclick = function handleNewsfeedClick(e) {
    var el = e.srcElement;
    if (el.tagName === 'IMG') {
        console.log('Clicked image ' + el.id);
    }
};

これは、クリックイベントリスナーをニュースフィードにアタッチすることです。ニュースフィードの子要素をクリックすると、イベントはニュースフィードまで伝播し、クリックリスナーによってキャッチされます。次に、クリックイベントのソースが画像であったかどうかを確認します。

出力はブラウザのコンソールに送られます。(Chromeで簡単にテストしました。)

于 2013-03-02T15:25:12.607 に答える