Vue8基础:事件处理

1、事件处理

1. 绑定监听:
  v-on:xxx="fun"
  @xxx="fun"
  @xxx="fun(参数)"
  默认事件形参: event
  隐含属性对象: $event
2. 事件修饰符:
  .prevent : 阻止事件的默认行为 event.preventDefault()
  .stop : 停止事件冒泡 event.stopPropagation()
3. 按键修饰符
  .keycode : 操作的是某个keycode值的健
  .enter : 操作的是enter键

<body>
<div id="example">
  <h2>1. 绑定监听</h2>
  <button @click="test1">test1</button>
  <button @click="test2('abc')">test2</button>
  <button @click="test3('atguigu', $event)">test3</button>
  <h2>2. 事件修饰符</h2>
  <!-- 
    阻止(prevent)事件的默认行为
    停止(stop)事件冒泡
  -->
  <a href="http://www.baidu.com" @click.prevent="test4">百度</a>
  <div style="width: 200px;height: 200px;background: red;" @click="test5">
      <div style="width: 100px;height: 100px;background: blue;" @click.stop="test6"></div>
  </div>
  <p @click.once="test6">xxx</p>
  <h2>3. 按键修饰符</h2>
  <input type="text" v-model="msg" @keyup.13="test7">
  <input type="text" v-model="msg" @keyup.enter="test7">
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#example',
    data: {
      msg: ''
    },
    methods: {
      test1 (e) {
        alert(e.target.innerText)
      },
      test2 (msg) {
        alert(msg)
      },
      test3 (msg, event) {
        alert(msg + '---' + event.target.innerHTML)
      },
      test4 (event) {
        // event.preventDefault();
        
        alert('点击了')
      },
      test5 () {
        alert('out')
      },
      test6 () {
        alert('inner')
      },
      test7 (event) {
        // if (event.keyCode===13) {
          alert(this.msg)
        // }
      }
    },
  })
</script>
</body>

 


版权声明:本文为u013089490原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。