3 ms·
window.setInterval(function() { $('img').mouseover(); }, 500); So you can catch the ones that haven't been created yet.
by FuzzyDunlop 14y ago
window.setInterval(function() {
$('img').mouseover();
}, 500);
So you can catch the ones that haven't been created yet.
- obituary_latte 14y agoaww man... var event = document.createEvent("MouseEvent"); event.initMouseEvent("mouseover", true, true, window); function save_them_prontos(){ var ims = document.getElementsByTagName('img'); for(var i=0;i<ims.length; i++){ if(ims[i].id == ''){ ims[i].id = i; ims[i].dispatchEvent(event); } } time_dem(); } function time_dem(){ window.setTimeout(function(){ save_them_prontos(); },100) } save_them_prontos(); triple :(
- Cthulhu_ 14y ago$('img').live('mouseover', function() {}); Same, but nicer, listens to mouseover events on img elements that may not exist yet. Then again, this will - if I understand correctly - cause the event to bubble up in the DOM until it reaches the root element, where jquery's live callback handler will check what element the event took place on and invoke that callback.
- lazerwalker 14y agoYou're spot on that's the cleanest conceptual way to do it in jQuery. In more recent versions of jQuery, though, $.live is technically deprecated (1.7+). The equivalent new syntax is: $(document).on('mouseover', 'img', function() {});
- jpwagner 14y agothe 5 previous posts in this thread are so perfectly stepwise, it's making my head explode.
- zaius 14y agoThat creates a event handler for all images on mouseover, even images that haven't been created yet. You want to trigger the mouseover event, not bind to it. And you want to trigger it after the image has been inserted. Unfortunately there's no jquery event for dom insertions. But on firefox you can use a MutationObserver: MutationObserver(function(event) { $(event[0].addedNodes[0]).mouseover(); }).observe($('body')[0], {childList: true});
- lazerwalker 14y agoWhoops, you're 100% correct.
- deleted 14y ago[deleted]
- tlrobinson 14y agoThat registers a mouseover event listener. Mine triggers a mouseover event. They are completely different.
- bmuon 14y agoLooks like a use case for MutationObserver: var evt = document.createEvent("MouseEvent"); evt.initMouseEvent("mouseover", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); function isALemming(node) { return node.nodeName === 'IMG'; } function fakeMouseover(node) { node.dispatchEvent(evt); } function saveLemmings(possibleLemmings) { possibleLemmings.filter(isALemming).forEach(fakeMouseover); } var observer = new MutationObserver(function(mutations) { mutations.forEach(function(record) { saveLemmings(Array.prototype.slice.call(record.addedNodes || [])); }); }); saveLemmings(Array.prototype.slice.call(document.getElementsByTagName('img'))); observer.observe(document.body, { childList: true });