2016-02-05 2 views
0

Я знаю $('img').load(function(){}) может работать. Тем не менее, я хочу, чтобы img dom те, которые не были созданы вначале, также могут trigger the event. Интересно, почему нижеследующее не работает.Как связать событие загрузки для img

$(window.document).on('load', 'img', function(){ 
    console.log('load', this); 
}) 
+0

Вы не можете, потому что [событие загрузки] (https://developer.mozilla.org/en-US/docs/Web/Events/load) не пузырь, поэтому он не поддерживает делегированных обработчиков –

+0

Спасибо. Я получаю правильный путь. Это не потому, что пузырь, но модель захвата. – chengjiang

ответ

0

jQuery не поддерживает захват. Поэтому мне пришлось использовать js addEventListener.

document.body.addEventListener(
    'load', 
    function(event){ 
     var tgt = event.target; 
     if(tgt.tagName == 'IMG'){ 
      console.log('load', tgt.src); 
     } 
    }, 
    true 
) 
Смежные вопросы