阻止冒泡element按钮点击操作阻止@row-click

描述:<el-table>某一行中同时存在两个方法,使用@row-click点击某一行时,会执行一个方法, 同时这一行有编辑和删除按钮。

问题: 在点击按钮时,@row-click事件也被触发了,不想触发 row-click 事件只触发自身的事件。

解决办法: 写按钮的 @click 事件时添加 .stop

<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark"  stripe style="width: 100%" @row-click="click_row">
          <el-table-column type="selection"width="55"></el-table-column>
          <el-table-column prop="name" label="电梯名称" width="120"></el-table-column>
          <el-table-column prop="type" label="电梯型号" width="120"></el-table-column>
          <el-table-column prop="address" label="电梯使用位置" show-overflow-tooltip></el-table-column>
          <el-table-column prop="unit" label="维保单位" show-overflow-tooltip></el-table-column> 
                <el-table-column label="操作" width="150">
                  <template slot-scope="scope">
                    <el-button type="text" size="small"><i class="el-icon-edit"></i>编辑</el-button>
                    <el-button type="text" size="small"  @click.stop="delete"><i class="el-icon-delete"></i>删除</el-button>
                  </template>
          </el-table-column>
</el-table>

关于冒泡:

<div class='one' onclick="alert('最外层')">
        <div class="two" onclick="alert('中间层')">
            <a href="https://www.jianshu.com/p/02b12c600c7b" class="three" onclick="alert('最内层')">点我</a>
        </div>
</div>

执行顺序为 依次弹出 最内层》》中间层》》最外层》》跳转本身href的网页

如何来阻止?

1.event.stopPropagation();

 <script type="text/javascript">
        $(function() {
            $(".three").click(function(event) {
                event.stopPropagation();
            });
        });
<script>

点击“点我”,会弹出:最内层,然后链接到网页

2.return false;

如果头部加入的是以下代码

<script type="text/javascript">
$(function() {
  $("#three").click(function(event) {
    return false;
  });
});
<script> 

点击“点我”,会弹出:最内层,但不会执行链接到页面

3.event.preventDefault();

$(function() {
    $(".three").click(function(event) {
         event.preventDefault(); 
    });
});

点击“点我”。会依次弹出最内层---->中间层---->最外层,但最后却没有跳转到页面

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,857评论 1 11
  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 5,183评论 0 8
  • JavaScript和HTML之间的交互是通过用户和浏览器操作页面时引发的事件来处理的。 jQuery增加并扩...
    DHFE阅读 3,788评论 0 1
  • 这个问题也是老生常谈了,写这篇文章的主要目的是进行下梳理,了解自己知识点的掌握程度,也希望对大家有所帮助。 在说如...
    一木_qintb阅读 9,734评论 1 4
  • 移动页面点击穿透问题解决方案 一.click与300ms延迟 移动浏览器提供一个特殊的功能:双击(double t...
    程序员之路阅读 9,221评论 0 2