新規投稿
フォローする

keydownイベントの取得について

Kintoneでのレコード登録時に指定したフィールドでPOPアップ画面を表示させるために以下のコードを記載しています。

document.getElementById(document.getElementsByClassName("input-text-cybozu")[2].id).addEventListener('Keydown',function(event){
if (event.keyCode == 18){
window.alert('POPアップ');

  }
});

eventには、Kintoneのレコード新規登録のイベントが入っており、KeyDownのイベントが取得できません。

function(ev){}としても、evが定義されていないのエラーが表示されます。

どのようにすればkeydownした場合のイベントの取得方法をご教授願えませんでしょうか?

0

2件のコメント

Avatar
ひよこ

Kintone初心者研修中さん

こんにちは。はじめまして。ひよこです。

記載されたコードは、kintone.events.on() 内にあるとして、コメントしています。

kintone.events.on("app.record.create.show", function(event) { ... ① のイベント
document.getElementById(document.getElementsByClassName("input-text-cybozu")[2].id).addEventListener('Keydown',function(event) { ... ②
}
}

①と②のイベントは別物です。
①は kintone の新規登録イベントで、②は keydown のイベントです。

なので、kintone のイベントになっているのは、ステップ実行の見ている箇所が違うのかもしれません。
憶測ですみません。

コードですが、 Keydown を keydown にすれば動きました。
それから、イベント登録する要素ですが、 document.getElementsByClassName("input-text-cybozu")[2] に対しても登録できます。

(function() {
"use strict";
kintone.events.on("app.record.create.show", function(event) {
document.getElementsByClassName("input-text-cybozu")[2].addEventListener("keydown", function(event) {
if (event.keyCode === 18) {
window.alert("POPUP");
}
});
});
})();
ひよこにより編集されました
1
Avatar
Kintone初心者研修中

回答ありがとうございます。お恥ずかしいミスをしていました。

Key <> key

これで動作しなかったということです。

 

1
ログインしてコメントを残してください。