Vue 키 수정자가 이벤트를 처리하는 방법

不言
풀어 주다: 2018-05-04 14:55:20
원래의
1306명이 탐색했습니다.

이 글에서는 유사한 이벤트를 처리하기 위해 Vue 키 수정자에 대한 관련 정보를 주로 소개합니다. 자세한 내용은 해당 내용을 참조하세요.

PC에서 키 수정자

사용자가 Enter 키를 눌렀을 때 양식을 제출하는 것과 같은 유사한 요구 사항이 자주 발생합니다. 키 수정자가 사용되지 않으면 키보드 이벤트를 수신하고 keyCode의 값을 기반으로 판단할 수 있습니다.

Vue는 키 수정자 기호 및 시스템 수정자를 추가합니다. 유사한 이벤트 처리

/** 提交表单 */
<template>
  <p class="demo">
    电话号码:
    <input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.13="handleSubmit" />
  </p>
</template>

<script>
export default {
  data () {
    return {
      phone: &#39;&#39; // 电话号码
    }
  },
  methods: {

    // TODO 提交电话号码
    handleSubmit () { alert(this.phone) }
  }
}
</script>
로그인 후 복사

모든 keyCode 값을 기억하기 어렵기 때문에 Vue는 일반적으로 사용되는 키에 대한 별칭을 제공합니다

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.enter="handleSubmit" />
로그인 후 복사

공통 버튼 별칭

enter tab delete esc space up down left right

이 별칭이 요구 사항을 충족할 수 없는 경우 전역 config.keyCodes 객체를 통해 키 수정자 별칭을 사용자 정의할 수 있습니다.

Vue.config.keyCodes.x = 88

keyboardEvent.key에 의해 노출된 키 이름을 케밥 케이스의 수정자로 변환할 수도 있습니다. 다음 두 가지 수정자는 handlerSubmit 이벤트를 트리거할 수 있습니다

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.right="handleSubmit" />
<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.arrow-right="handleSubmit" />
로그인 후 복사

시스템 수정자 키

때때로 시스템 수정자 키와 함께 이벤트를 트리거해야 하는 경우도 있습니다. 여기서 주목해야 할 점은 시스템 수정자 키만 누르는 것입니다. 해당 이벤트를 트리거하지 않습니다

시스템 수정자 키에는 Ctrl Alt Shift 메타 키가 포함되어 있으며, Mac 시스템 키보드의 경우 해당 4개의 시스템 수정자 키는 ⊞에 해당합니다. Windows 시스템 키보드에서 키를 누릅니다. 아래 예에서는 컨트롤과 v 키가 함께 작동하면 해당 이벤트가 트리거됩니다. 다음 예에서는 핸들 제출 이벤트가 발생합니다. Ctrl과 V 키가 함께 작동하는 경우에만 트리거됩니다

<input type="text" placeholder="请输入电话号码" v-model="phone" @keyup.ctrl.v="handleSubmit"/>
로그인 후 복사

관련 권장 사항:

Vue 영역 선택 구성 요소 튜토리얼 자세한 설명

위 내용은 Vue 키 수정자가 이벤트를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿