Let’s say I’m doing a code. This code uses kontextua ads
<div class="pread">
<div class="postad kontextuaDisplayREGULARS728x90">
<div style="display: block !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; overflow-x: hidden !important; overflow-y: hidden !important; padding-bottom: 2px !important; padding-left: 4px !important; padding-right: 4px !important; padding-top: 2px !important; z-index: 10000 !important; ">
<iframe style="display: block; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; overflow-x: hidden; overflow-y: hidden; background-position: initial initial; background-repeat: initial initial; " frameborder="0" width="728px" height="90px" src="javascript:(function(){return '<html><meta http-equiv=\'Content-Type\' content=\'text/html\' charset=\'UTF-8\'></meta><head><style> html { overflow:hidden; } body { background-color:transparent; float:left; padding:0; margin:0; overflow:hidden; height:90px;width:728px;} .contenido{margin:0}</style></head><body><div class=\'contenido\' id=\'banner\'><SCRIPT TYPE=\'text/javascript\' SRC=\'http://ad.yieldmanager.com/st?ad_type=ad&ad_size=728x90§ion=2871061\'></SCRIPT></div></body></html>'})()"></iframe>
</div>
</div>
</div>
I wan’t to know when clicked and apply a CSS to parent “.pread”. How can I do this?
<script>
$(".postad").live('click', function(){
alert("clicked");
$(this).parent().css({
'backgroundImage' : 'url(http://cdn1.iconfinder.com/data/icons/DarkGlass_Reworked/128x128/actions/camera_test.png)',
'backgroundColor' : 'limeGreen'
});
});
</script>
But it doesn’t work. Thanks!
Your code works if you give some actual content to the postad div other than the iframe. You can see it work here if you click on the xxx that I added to that div.
It does not work if you click on the
iframeand that’s because clicks don’t bubble out of aniframeinto parent objects so when you click in the iframe, no click event is received in thepostaddiv. If you click on the iframe, the click stops there.It is possible to intercept a click on an iframe from the parent page, but that involves putting a transparent div over the top of the iframe so the parent page gets the click, not the iframe. You can see the transparent div idea work here: http://jsfiddle.net/jfriend00/h2WTB/ – just click on the download image and the click will be handled by the transparent div which will bubble to your
postadevent handler.