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した場合のイベントの取得方法をご教授願えませんでしょうか?
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");
}
});
});
})();
回答ありがとうございます。お恥ずかしいミスをしていました。
Key <> key
これで動作しなかったということです。