确定被点击的孩子,而其父母拥有自己的点击侦听器

赞德战争

我在页面上有多个手风琴小部件。

详细说明所有设置

  • 下图所示的绿色标题是可排序的jQuery UI的句柄
  • 绿色的标题还有一个单击侦听器,它可以折叠/展开手风琴。
  • 编辑按钮具有自己的单击侦听器,该按钮在被触发时会按预期运行,但也会触发侦听器以折叠手风琴

是否可以获取被单击的ACTUAL元素,以便我可以检查它是否不是“编辑/保存/放弃”按钮?

我的手风琴JS是:

this.accordion = function () {
    var element = $('.accordion > .panel-heading');

    element.on('click', function () {
        var self = $(this);
        if (self.hasClass('open')) {
            self.parent().find('.panel-body').stop().slideUp();
            self.find('.fa-caret-down').removeClass('fa-caret-down').addClass('fa-caret-up')
            self.removeClass('open');
            return;
        }

        self.addClass('open');
        self.find('.fa-caret-up').removeClass('fa-caret-up').addClass('fa-caret-down')
        self.parent().find('.panel-body').stop().slideDown();
    });
}

我明显不完整的“编辑” JS是:

this.editableWidgets = function () {

    var edit = $('.panel .widgetBtn_edit');
    var save = $('.panel .widgetBtn_save');
    var discard = $('.panel .widgetBtn_discard');

    edit.on('click', function () {
        $(this).hide();
        $(this).next('.widgetBtn_save').show();
        $(this).next().next('.widgetBtn_discard').show();
    });

    save.on('click', function () {
        alert('hook up saving functionality')
    })

    discard.on('click', function () {
        $(this).hide();
        $(this).prev('.widgetBtn_save').hide();
        $(this).prev().prev('.widgetBtn_edit').show();
    })

}

图。1

之前=单击编辑之前

之后=单击编辑后

图1

卡潘察克

为了获得被点击的实际元素,您可以使用事件的target属性。

在下面的示例中,尝试单击带边框的div和绿色跨度,并查看警告的其他ID:

//Event listener on outer element (#outer)
$(document).on('click', '#outer', function(e) {
  //e.target gets the actual element clicked
  var trg = e.target;
  var id = $(trg).attr('id');
  alert(id);
});
#outer {
  padding:10px;
  border: 1px solid #d8d8d8;
}

#inner { background-color:green; color:#fff }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="outer">
  Outer
  <span id="inner">Inner</span>
 </div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

让孩子与父母的点击事件

来自分类Dev

片段中的点击侦听器

来自分类Dev

如果我的点击侦听器没有冒泡,如何使用点击侦听器定位动态添加的 HTML 元素的父元素?

来自分类Dev

如何获得相对于持有onclick侦听器的SVG元素的点击坐标?

来自分类Dev

将点击侦听器添加到动态元素中的代码有什么问题?

来自分类Dev

从AS3中的侦听器获取点击坐标

来自分类Dev

根据点击侦听器更改infoWindow视图

来自分类Dev

如何使水平ScrollView中的图像成为点击侦听器

来自分类Dev

从AS3中的侦听器获取点击坐标

来自分类Dev

将点击侦听器设置为按钮时出错

来自分类Dev

如何禁用引导程序确认点击侦听器?

来自分类Dev

父母和孩子中的点击事件

来自分类Dev

让孩子在父母身上点击事件

来自分类Dev

让所有父母共同拥有孩子

来自分类Dev

Google标签点击标签后冻结,如何在“就绪”侦听器中正确使用“选择”侦听器?

来自分类Dev

让孩子修改其父母

来自分类Dev

回收器视图中的点击侦听器应该在哪里?

来自分类Dev

为什么事件委托 ES6 侦听器将输入点击跟踪为按钮点击?

来自分类Dev

如何在图像视图Android上禁用点击侦听器

来自分类Dev

如果在下拉菜单之外点击,则为Android Spinner侦听器

来自分类Dev

分配点击侦听器时出现意外范围问题

来自分类Dev

是否可以在色箱图像上禁用点击侦听器?

来自分类Dev

点击侦听器内部的异步任务将对接口的引用传递给

来自分类Dev

删除另一个脚本设置的点击事件侦听器

来自分类Dev

如何将点击侦听器附加到DT和Shiny中的数据表?

来自分类Dev

在点击侦听器回调中获取活动上下文

来自分类Dev

将点击侦听器隔离在重叠的行和按钮中

来自分类Dev

将点击侦听器添加到Javascript对象中生成的代码上

来自分类Dev

鼠标侦听器泛洪保护仅报告首次点击

Related 相关文章

  1. 1

    让孩子与父母的点击事件

  2. 2

    片段中的点击侦听器

  3. 3

    如果我的点击侦听器没有冒泡,如何使用点击侦听器定位动态添加的 HTML 元素的父元素?

  4. 4

    如何获得相对于持有onclick侦听器的SVG元素的点击坐标?

  5. 5

    将点击侦听器添加到动态元素中的代码有什么问题?

  6. 6

    从AS3中的侦听器获取点击坐标

  7. 7

    根据点击侦听器更改infoWindow视图

  8. 8

    如何使水平ScrollView中的图像成为点击侦听器

  9. 9

    从AS3中的侦听器获取点击坐标

  10. 10

    将点击侦听器设置为按钮时出错

  11. 11

    如何禁用引导程序确认点击侦听器?

  12. 12

    父母和孩子中的点击事件

  13. 13

    让孩子在父母身上点击事件

  14. 14

    让所有父母共同拥有孩子

  15. 15

    Google标签点击标签后冻结,如何在“就绪”侦听器中正确使用“选择”侦听器?

  16. 16

    让孩子修改其父母

  17. 17

    回收器视图中的点击侦听器应该在哪里?

  18. 18

    为什么事件委托 ES6 侦听器将输入点击跟踪为按钮点击?

  19. 19

    如何在图像视图Android上禁用点击侦听器

  20. 20

    如果在下拉菜单之外点击,则为Android Spinner侦听器

  21. 21

    分配点击侦听器时出现意外范围问题

  22. 22

    是否可以在色箱图像上禁用点击侦听器?

  23. 23

    点击侦听器内部的异步任务将对接口的引用传递给

  24. 24

    删除另一个脚本设置的点击事件侦听器

  25. 25

    如何将点击侦听器附加到DT和Shiny中的数据表?

  26. 26

    在点击侦听器回调中获取活动上下文

  27. 27

    将点击侦听器隔离在重叠的行和按钮中

  28. 28

    将点击侦听器添加到Javascript对象中生成的代码上

  29. 29

    鼠标侦听器泛洪保护仅报告首次点击

热门标签

归档