假设我正在编写代码。此代码使用 kontextua 广告
<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>
我不想知道何时单击并将 CSS 应用于父“.pread”。我该怎么做?
<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>
但它不起作用。谢谢!
最佳答案
如果您将一些实际内容提供给 postad div 而不是 iframe,您的代码就可以工作。你可以see it work here如果你点击我添加到那个 div 的 xxx。
如果您点击 iframe
它不起作用,那是因为点击不会从 iframe
冒泡到父对象中,所以当您点击 iframe 时, postad
div 中没有收到点击事件。如果您点击 iframe,点击会停在那里。
可以从父页面拦截对 iframe 的点击,但这需要在 iframe 的顶部放置一个透明的 div,以便父页面而不是 iframe 获得点击。你可以在这里看到透明 div 的想法:http://jsfiddle.net/jfriend00/h2WTB/ - 只需点击下载图片,点击将由透明 div 处理,该 div 将冒泡到您的 postad
事件处理程序。
关于jQuery:将 CSS 应用于父 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9881921/