Vue 事件绑定

绑定监听

  1. v-on:xxx=“fun”

  2. @xxx=“fun”

  3. @xxx=“fun(参数)”

  4. 默认事件形参: event

  5. 隐含属性对象: $event

<body>
    <div id="app">
        <h1>{{title}}</h1>
        <button v-on:click="show">点我1</button>
        <button @click="show1($event,'666')">点我2</button>
    </div>
    <script type="text/javascript">
        Vue.config.productionTip = false;
        new Vue({
            el: "#app",
            data: {
                title : "事件处理"
            },
            methods:{
                show(event){
                    alert("点击事件");
                    console.log(this);//vm
                },
                show1(event,msg){
                    console.log(msg);
                    console.log(event);
                }
            }
        });
    </script>
</body>

事件修饰符

  1. prevent : 阻止事件的默认行为 event.preventDefault()
  2. stop : 停止事件冒泡 event.stopPropagation()
  3. once:事件只触发一次(常用)
  4. capture:使用事件的捕获模式
  5. self:只有event.target是当前操作的元素是才触发事件
  6. passive:事件的默认行为立即执行,无需等待事件回调执行完毕
<body>
    <div id="app">
        <!-- <a @click="show">百度</a> -->
        <!-- 1.阻止默认事件 -->
        <a @click.prevent="show" href="https://baidu.com">百度</a>
        
        <div @click="show" style="width: 100px; height: 100px; border-color: black; background-color: aqua;">
            <!-- 2.阻止事件冒泡 -->
            <a @click.stop.prevent="show">百度</a>
        </div>
    </div>
    <script>
        new Vue({
            el: "#app",
            methods: {
                show(e){
                    //阻止 a标签默认行为
                    //e.preventDefault();
                    alert("提示");
                }   
            }
        });
    </script>
</body>

键盘事件

Vue中常用的按键别名:

  • 回车=>enter
  • 删除=>delete
    (捕获“删除”和退格”键)
  • 退出=>esc
  • 空格=space
  • 换行=>tab
  • 上=>up
  • 下=>down
  • 左=>left
  • 右=>right
<body>
    <div id="app">
    	//按下enter键释放    
        <input @keyup.enter="show">
    </div>
    <script>
        new Vue({
            el: "#app",
            methods: {
                show(e){
                    // if(e.keyCode !== 13) return;
                    console.log(e.target.value);
                }   
            }
        });
    </script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值