vue-cli: @开头的事件修饰符 的用法

一. 事件修饰符

点击子组件, 也会认为点击了父组件, 即冒泡行为

<template>
  <div>
    <h1>事件修饰符</h1>
    <div @click="fatherClick">
      父级
      <div @click="subClick1">子级1</div>
      <!-- 阻止冒泡修饰符, 会阻止父级事件 -->
      <div @click.stop="subClick2">子级2</div>
    </div>
 
    <hr />
    <!--阻止默认事件-->
    <li @click.right="rightClick">点击右键</li>
    <!-- prevent, 会阻止页面右键菜单的弹出 -->
    <button @click.right.prevent="rightClick">ok</button>
    
 
    <hr />
    <!-- self修饰符 -->
    <!-- 只接收父级的事件, 不接受子级的事件 -->
    <div @click.self="fatherClick">
      父级
      <div @click.stop="subClick2">子级</div>
    </div>
 
    <hr />
    <!-- 按Ctrl事件 -->
    <input type="text" @keydown.ctrl="ctrlEvent" />
    <hr />
    <!-- 按Enter事件 -->
    <input type="text" @keydown.enter="submit" />
    <hr />
    <!-- 按 退格/删除 事件 -->
    <input type="text" @keydown.delete="deleteEvent" />
    <hr />
    <!-- 按 空格 事件, prevent会阻止按空格 -->
    <input type="text" @keydown.space.prevent="spaceEvent" />
  </div>
</template>
 
<script>
export default {
  name: "demo6",
  data() {
    return {};
  },
  methods: {
    fatherClick() {
      console.log("父级事件");
    },
    subClick1() {
      console.log("子级1事件");
    },
    subClick2() {
      console.log("子级2事件");
    },
    rightClick() {
      console.log("点击了右键");
    },
    ctrlEvent() {
      console.log("按下了ctrl");
    },
    submit() {
      console.log("提交了");
    },
    deleteEvent() {
      console.log("删除了");
    },
    spaceEvent() {
      console.log("阻止空格");
    }
  }
};
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值