0

我希望你能帮助我。

我正在尝试触发一个降低任何点击标签(h1、img、div 等)不透明度的事件,但我只希望此事件在包含 div 内的标签上触发。

例子:

<div id="opacity_wrapper">
  <div class="row-fluid">
     <div class="span12" style="padding-top: 25px;">
       <div class="well well-large" style="background-color: #FFF">
             <h1> Some Stuff </h1>
             <img src="/img/blah.jpg" />
             <h2> more stuff </h2>
             <div style="background-color: #000">
               <a href="#"> some link </a>
               <h2> blahblahblah> </h2>
             </div>
      </div>
    </div>
  </div>
</div>

<div>
  <h6> more stuff </h6>
  <h5> more stuff> </h5>
  <button> some button </button>
</div>

因此,如果点击了任何“h1”、“img”、“h2”、“div”或“a”标签,我希望它触发(并且仅针对被点击的特定 h1、img 或 h2 标签),但我不希望它触发不包含在 opacity-wrapper div 中的任何元素,例如底部的“h6”、“h5”或按钮标签。

这可能吗?

这让我最接近,但它不排除任何元素。

<script>
  $(document).ready(function(){
  $( window ).click(function ( e ) {
  $( e.target ).css({ opacity: 0.5 });
    });
});
</script>

如果有什么办法,

如果 window.clicked 元素是 #opacity_wrapper" 的子元素,则 {

e.target.css 不透明度 0.5 } 否则 { 什么都不做 }

然后我相信这会奏效。有什么建议么?谢谢。

4

2 回答 2

1

更改您绑定点击事件的选择器应该这样做:

$(document).ready(function(){
   $("#opacity_wrapper").click(function ( e ) {
      $( e.target ).css({ opacity: 0.5 });
   });
});

请注意,您的一个关闭<div>s 有问题,这会影响到这一点。<div class="span12" style="padding-top: 25px;">正在以开放的方式“关闭”<div>

于 2013-04-13T19:17:00.980 回答
1
$('.well').click(function(event) {
  $(event.target).css('opacity','0.5');  
});

这将为您完成。这将选择限制为应用了“well”类的 div。单击下一个时,您显然需要清除选择并重置不透明度。

于 2013-04-13T19:23:38.430 回答