There's a FlashBlock plugin listed in the sticky, that kinda does what you're looking for, but automatically instead of at a click.
I couldn't find any bookmarklets to do it so I wrote you a couple.
Removes all img tags, all backround images from divs, ths, and tds, and removes the background image from the page:
Code:
javascript:(function(){document.body.style.backgroundImage="none";var%20img;while((img=document.getElementsByTagName("img")).length>0){img[0].parentNode.removeChild(img[0]);}var%20divs=document.getElementsByTagName("div");for(i=0;i<divs.length;i++){divs[i].style.backgroundImage="none";}divs=document.getElementsByTagName("th");for(i=0;i<divs.length;i++){divs[i].style.backgroundImage="none";}divs=document.getElementsByTagName("td");for(i=0;i<divs.length;i++){divs[i].style.backgroundImage="none";}})()
Removes all SWFs:
Code:
javascript:(function(){var%20swf;while((swf=document.getElementsByTagName("embed")).length>0){if((typeof(swf[0].attributes["type"])!="undefined"&&swf[0].attributes["type"].value=="application/x-shockwave-flash")||(typeof(swf[0].attributes["src"])!="undefined"&&swf[0].attributes["src"].value.indexOf(".swf")!=-1))swf[0].parentNode.removeChild(swf[0]);}while((swf=document.getElementsByTagName("object")).length>0){if(swf[0].attributes["codebase"].value.indexOf("flash")!=-1)swf[0].parentNode.removeChild(swf[0]);}})()