Vueのキーイベントで@keydown.enter
を設定すると、
日本語の変換中に押したEnterでも発火してしまう。。
なにも変換後のみに発火させたいなと思ったときの備忘録
日本語入力中とそうでないときはkeyCodeが違うらしい
Qiita記事にすべて書いてあった。。
@keyup.enter だといずれのEnterもkeyCode = 13を返してしまうが、
@keydown.enterであれば日本語入力中のEnterはkeyCode = 229を返すので、
@keydown.enterで判断すれば良い。
自分用にTSに書き直すとこんな感じ。
<template> <input @keydown.enter="onKeydownEnter($event.keyCode)"> </template> <script lang="ts"> import { Component, Vue } from "nuxt-property-decorator"; @Component export default class MyComponent extends Vue { private onKeydownEnter(keyCode: number) { if (keyCode !== 13) return; // 実行したい処理 } } </script>
以上!!
おすすめの本
Nuxt.jsビギナーズガイド―Vue.js ベースのフレームワークによるシングルページアプリケーション開発
- 作者: 花谷拓磨
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2018/10/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 川口和也,喜多啓介,野田陽平,手島拓也,片山真也
- 出版社/メーカー: 技術評論社
- 発売日: 2018/09/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: MIO
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2018/05/29
- メディア: Kindle版
- この商品を含むブログを見る
改訂新版 Vue.jsとFirebaseで作るミニWebサービス (技術の泉シリーズ(NextPublishing))
- 作者: 渡邊達明
- 出版社/メーカー: インプレスR&D
- 発売日: 2018/10/05
- メディア: オンデマンド (ペーパーバック)
- この商品を含むブログを見る