繁体   English   中英

将onClick事件触发到特定的div

[英]Fire onClick event to specific div

我有两张卡片,如果用户单击“赞”按钮(心形图标),则会触发onClick()事件以在卡片图像上方创建调光器。 我正在尝试在用户单击心脏图标的卡片图像上创建调光器。

我试图提出一个条件:

if (e.target !== this)
    return;

但这没有用。 在真实的网页中,我会看到一串没有标识符的卡片,可以在其中指定要变暗的图像。 在这种情况下可以吗?

的jsfiddle

更新小提琴

你应该使用当前的点击jQuery对象$(this) ,而不是为目标的相关.imglove在同一.card

$(this).closest('.card').find('.imglove').dimmer('show');

注意: .closest('.card')用于获取带有单击图标loveit的相关card

希望这可以帮助。

 $(function() { $(document).on('click', '.loveit', function(e) { e.preventDefault(); $(this).closest('.card').find('.imglove').dimmer('show'); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/semantic-ui/2.2.2/semantic.min.js"></script> <link href="https://cdn.jsdelivr.net/semantic-ui/2.2.2/semantic.min.css" rel="stylesheet"/> <div class="ui card"> <div class="content"> <div class="right floated meta">14h</div> <img class="ui avatar image" src="http://semantic-ui.com/images/avatar/large/elliot.jpg"> Elliot </div> <div class="image imglove"> <div class="ui dimmer"> <div class="content"> <div class="center"> <h2 class="ui inverted header">Title</h2> <img class="ui avatar image" src="http://www.animatedimages.org/data/media/373/animated-heart-image-0455.gif"> </div> </div> </div> <img src="http://semantic-ui.com/images/avatar2/large/kristy.png"> </div> <div class="content"> <span class="right floated"> <i class="heart outline like icon loveit"></i> 17 likes </span> <i class="comment icon"></i> 3 comments </div> <div class="extra content"> <div class="ui large transparent left icon input"> <i class="heart outline icon"></i> <input type="text" placeholder="Add Comment..."> </div> </div> </div> <div class="ui card"> <div class="content"> <div class="right floated meta">14h</div> <img class="ui avatar image" src="http://semantic-ui.com/images/avatar/large/elliot.jpg"> Elliot </div> <div class="image imglove"> <div class="ui dimmer"> <div class="content"> <div class="center"> <h2 class="ui inverted header">Title</h2> <img class="ui avatar image" src="http://www.animatedimages.org/data/media/373/animated-heart-image-0455.gif"> </div> </div> </div> <img src="http://semantic-ui.com/images/avatar2/large/kristy.png"> </div> <div class="content"> <span class="right floated"> <i class="heart outline like icon loveit"></i> 17 likes </span> <i class="comment icon"></i> 3 comments </div> <div class="extra content"> <div class="ui large transparent left icon input"> <i class="heart outline icon"></i> <input type="text" placeholder="Add Comment..."> </div> </div> </div> 

因此,您正在尝试将交互仅限于当前选择的图像吗? 另外,不要引用小提琴,而是在此处发布您的工作(或非工作)代码。 各地都比较容易。

 jQuery(document).ready(function($) { $(document).on('click', '.loveit', function(e) { e.preventDefault(); $(this).parents(".card").find('.imglove') .dimmer('show'); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="https://cdn.jsdelivr.net/semantic-ui/2.2.2/semantic.min.css" rel="stylesheet"/> <script src="https://cdn.jsdelivr.net/semantic-ui/2.2.2/semantic.min.js"></script> <div class="ui card"> <div class="content"> <div class="right floated meta">14h</div> <img class="ui avatar image" src="http://semantic-ui.com/images/avatar/large/elliot.jpg"> Elliot </div> <div class="image imglove"> <div class="ui dimmer"> <div class="content"> <div class="center"> <h2 class="ui inverted header">Title</h2> <img class="ui avatar image" src="http://www.animatedimages.org/data/media/373/animated-heart-image-0455.gif"> </div> </div> </div> <img src="http://semantic-ui.com/images/avatar2/large/kristy.png"> </div> <div class="content"> <span class="right floated"> <i class="heart outline like icon loveit"></i> 17 likes </span> <i class="comment icon"></i> 3 comments </div> <div class="extra content"> <div class="ui large transparent left icon input"> <i class="heart outline icon"></i> <input type="text" placeholder="Add Comment..."> </div> </div> </div> <div class="ui card"> <div class="content"> <div class="right floated meta">14h</div> <img class="ui avatar image" src="http://semantic-ui.com/images/avatar/large/elliot.jpg"> Elliot </div> <div class="image imglove"> <div class="ui dimmer"> <div class="content"> <div class="center"> <h2 class="ui inverted header">Title</h2> <img class="ui avatar image" src="http://www.animatedimages.org/data/media/373/animated-heart-image-0455.gif"> </div> </div> </div> <img src="http://semantic-ui.com/images/avatar2/large/kristy.png"> </div> <div class="content"> <span class="right floated"> <i class="heart outline like icon loveit"></i> 17 likes </span> <i class="comment icon"></i> 3 comments </div> <div class="extra content"> <div class="ui large transparent left icon input"> <i class="heart outline icon"></i> <input type="text" placeholder="Add Comment..."> </div> </div> </div> 

使用课程card将其定位parent对象,然后find课程imgloveimglove添加dimmer

 jQuery(document).ready(function($) {
   $(document).on('click', '.loveit', function(e) {
     $(this).parents('.card').find('.imglove').dimmer('show');
    });
 });

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM