2016-08-23 10 views
1

div.circle_thumb>imgイベントにonerror関数を追加します。javascriptでイベントグローバルコールバックを追加

ここで、このようなそれぞれのimgタグをonerrorイベントに追加しました。

<div class="circle_thumb" ><img src="some/url" onerror="this.src=url/to/replaced" /></div>

しかし、これはあまりにも私を悩ま。

このコールバックをグローバルに追加できますか?

+0

は正確に 'this.src = URL /に/ replaced'ですすべての場合で同じですか? –

+0

body要素またはHTML要素を「グローバルに」指定すると、[* error *イベント](http://www.w3.org/TR/DOM-Level-3-イベント/#event-type-error)はバブルしません。 – RobG

+0

@JaromandaXはい、すべてのdiv.circle_thumb> img'は、エラー時にそのURLに置き換えられます。 –

答えて

3

あなたはこの

[].forEach.call(document.querySelectorAll('div.circle_thumb>img'), function(img) { 
    img.addEventListener('error', function(e) { 
    this.src='../img/logo.png'; 
    }); 
}); 

またはES2015 +

Array.from(document.querySelectorAll('div.circle_thumb>img')).forEach(img => img.addEventListener('error', e => img.src='../img/logo.png')); 
1

でjQueryのバージョンのようにJavaScriptを使用することができます。

jQuery.each($('div.circle_thumb > img'), function(index, image){ 
    image.addEventListener('error', function(e) { 
     image.src='../img/logo.png'; 
    }); 
});