現在、Mousetrapで各ショートカットを作成しております。
通常のものはできたのですが、カスタマイズビュー上で自作したbutton要素のonclickをEnterでも反応させることができません。
正確には、同カスタマイズビュー上のinput text要素をフォーカスした状態だと反応しません。
Mousetrapの仕様的な情報もあったのですが、なんとか代用方法でもいいのでどなたかご教授いただければ幸いです。
___
以下をフォーカス状態で機能させたい。
Mousetrap.bind(‘enter’, function(){
BB();←onclick
});
__
何とぞ、お願いいたします。
鶴見様
お世話になっております.
cstapの江田と申します.
input要素に「keypress」イベントを追加するのが良いかと思います.
http://d.hatena.ne.jp/oinusama/20090828/p1
江田さまご解答ありがとうございます。
自分も最初はkyepressでやろうとしたんですが、kyeプロパティはどれもちゃんと反応してくれなくて。
OSがWindous7だからなのかな?
念のため、URLの方、まるごとコピーしましたが、やはり反応なしです。
鶴見様
お世話になっております.
返信が遅くなり,申し訳ございません.
以下のような記述で実装できます.
・HTML
\<inputid="myInput"\>\<buttonid="myButton"\>click\</button\>
・JavaScript
(function(){"use strict";kintone.events.on('app.record.index.show',function(event){varinput=document.getElementById('myInput');varbutton=document.getElementById('myButton');button.addEventListener('click',function(){alert('clicked');});input.addEventListener('keypress',function(e){if(e.key!=='Enter')return;varevent=document.createEvent('HTMLEvents');event.initEvent('click',true,true);button.dispatchEvent(event);});});})();
江田さま
ご丁寧にありがとうございます。
いただいたもので動くようです。
eventを発火時に削除してもう一度、定義しなおしてるということなのでしょうか。
正直、自分にはまだ理解できる範疇ではないですが、助かりました。
ただ、現状のもの組み込むとaddEventListenerがnullで返ってきます。
HTMLの読み込み順の問題なのか、他のプログラムに邪魔されてるのか解りませんが、
とりあえず、助かりました。
あとは、自分でなんとか検証してみようと思います。