javascript - jQuery 单击除类链接以外的任何内容

标签 javascript jquery html css

我在切换类时遇到了一些问题。

更新为 js-fiddle

单击删除链接时,新的确认链接会滑入 View 。如果还单击了确认链接,则表格行将被删除。

如果用户点击除此链接以外的任何地方,则应通过切换类 delete-btn-show 和 delete-btn-hide 将链接滑回 View 之外。

希望这能澄清事情:)

下面是一个表格列表。每行都有一个垃圾桶图标,它通过切换类打开一个 div (.delete-btn)。如果 delete-btn 是可见的(具有 .delete-btn-show 类),它应该通过切换类(delete-btn-show/-hide)隐藏自己,如果点击其中的链接以外的任何东西。如果单击链接,它应该删除该行。我设法显示了 div,但无法实现所需的行为。欢迎帮助:)

(jQuery 在文档就绪函数中)

$('.delete-supplier-link').click(function(){
  $(this).parent().parent().find('.delete-btn').toggleClass('delete-btn-show delete-btn-hide');
});


<a class="delete-supplier-link" href="#">
  <i class="fa fa-trash"></i>
</a>

这是表结构

<table class="table table-hover" id="curr-suppliers-listing">
  <tbody>
    <tr>
      <td>
        <span class="suppl-org">
          Some organization
        </span>
        <span class="supplier-of">
          Some product or service
        </span>
        <span class="supplier-contact">
          Some dude
        </span>
      </td>
      <td class="alignR">
        <div class="delete-btn delete-btn-hide">
          <a class="delete-string" href="#">
            Delete
          </a>
        </div>
        <span>
          D.O.P.
        </span>
        <span>
          2011-11-12
        </span>
        <span>
          <a class="delete-supplier-link" href="#">
            <i class="fa fa-trash"></i>
          </a>
        </span>
      </td>
    </tr>
    <tr>
      <td>
        <span class="suppl-org">
          Some organization
        </span>
        <span class="supplier-of">
          Some product or service
        </span>
        <span class="supplier-contact">
          Some dude
        </span>
      </td>
      <td class="alignR">
        <div class="delete-btn delete-btn-hide">
          <a class="delete-string" href="#">
            Delete
          </a>
        </div>
        <span>
          D.O.P.
        </span>
        <span>
          2011-11-12
        </span>
        <span>
          <a class="delete-supplier-link" href="#">
            <i class="fa fa-trash"></i>
          </a>
        </span>
      </td>
    </tr>
    <tr>
      <td>
        <span class="suppl-org">
          Some organization
        </span>
        <span class="supplier-of">
          Some product or service
        </span>
        <span class="supplier-contact">
          Some dude
        </span>
      </td>
      <td class="alignR">
        <div class="delete-btn delete-btn-hide">
          <a class="delete-string" href="#">
            Delete
          </a>
        </div>
        <span>
          D.O.P.
        </span>
        <span>
          2011-11-12
        </span>
        <span>
          <a class="delete-supplier-link" href="#">
            <i class="fa fa-trash"></i>
          </a>
        </span>
      </td>
    </tr>
  </tbody>
</table>

最佳答案

我不知道我是否理解正确你的要求,但是,检查这个 fiddle :

http://jsfiddle.net/yp9znej8/

$(function() {
    $(document).on('click', '.delete-btn-show', function() {
        $(this).closest('tr').remove();
        // to remove the table line when clicking the button
        // using .delete-btn-show to only remove when the button is visible
    });
});

如果这不是您想要的,您应该更改您的问题以提高可读性。

@更新

看看这个 fiddle :http://jsfiddle.net/L1nsanqf/3/

事情是停止传播事件,所以它不会与其他事件冲突.. 不知道这是否是最好的方法..但是,有效,我认为这就是你想要的

关于javascript - jQuery 单击除类链接以外的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25613371/

相关文章:

javascript - 如何保存由javascript代码生成的html以便通过电子邮件发送?

javascript - 如何旋转和调整 Canvas 大小,同时保持旋转的纵横比并调整高度?

javascript - 在云函数中引用 pem 文件

javascript - 用 JQuery/Javascript 替换字符串中的所有逗号

jquery - 禁用 jQuery .toggle() 方法

javascript - 如何在单击按钮时更改按钮颜色、字形和文本?

javascript - 为什么当我单击按钮时,链接没有在 iframe 中打开?

javascript - 循环遍历所有 Mongo 集合并执行查询

javascript - 试图剖析教程,但行为很尴尬

javascript - 选择选项字体系列在 mac os(chrome 和 safari 浏览器问题)和窗口 safari 浏览器问题中不起作用