3

Meteor 0.5.2(0.5から)にアップグレードした後、キーイベント('keypress'、'keydown'、keyup')のイベント処理が機能しなくなったことを知りました。('click'&'blur')のような他のイベントは問題なく機能します。

サンプルアプリでも、このようなコードは何もしません。

Template.someTemplate.events = {
  'keydown' : function(e) {
      console.log(e);
  }
};

興味深いのは、 input type = "text"またはtextarea内で入力しているときに、このコードキーを押すと機能する(関数が起動する)ことです。しかし、他の場所では何も起こりません。

Ubuntu12.10の最新のCromeでテストしています。

他の誰かが問題を経験しましたか?

ありがとう、ジョージ

4

2 に答える 2

9

キーダウンイベントは、編集可能なhtmlに対して機能します。入力フィールドまたはcontenteditableタグは、keydownイベントを発生させます。

ただし、本文のキーダウンイベントを処理する方法を尋ねている場合は、このスレッドが役立つ可能性があります。

このスレッドを見ることができます:https ://groups.google.com/forum/?fromgroups =#!topic / meteor-talk/uHy--xIGH8o 。

基本的に、今のところ、イベントハンドラーをbody要素に直接アタッチできます。上記のリンクの例では、テンプレートがレンダリングされるまで待機してから、jQueryを使用してハンドラーをアタッチしています。

Template.myTemplate.rendered = function() { 
        // Assuming you're using jQuery 
        $('body').on('keydown',function() { 
                console.log('key pressed'); 
        }); 
} 

Meteorチームは、まもなく体レベルのイベントを添付するためのより良いサポートを含める予定です。

于 2012-12-14T02:34:45.777 に答える
0

あなたは単に同封することができた

$('body')。on('keydown'、function(){console.log('key Pressed');});

meteor.startup関数で

于 2015-05-10T08:15:47.640 に答える