2

多くのデバッグを行った後、フォームフィールドにテキストを入力できない理由を見つけました。

JSアプリで使用するいくつかのキーをキャッチするjQuery関数があります。

$(document).bind 'keyup keydown', (e) -> 
    shifted = e.shiftKey
    cntrled = e.metaKey || e.ctrlKey

Javascript:

$(document).bind('keyup keydown', function(e) {
      shifted = e.shiftKey;
      return cntrled = e.metaKey || e.ctrlKey;
    });

それを使用してフォームフィールドに入力できないのはなぜですか?

その部分を削除するとすぐに、もう一度入力できます。

4

1 に答える 1

3

You are returning the value cntrled which cancels the event.

In Coffeescript the last value in your function will be returned.

Return true as the last line in the handler.

JavaScript equivalent of what you are doing now...

$(document).bind('keyup keydown', function (e) {
    var shifted = e.shiftKey
        , cntrled = e.metaKey || e.ctrlKey;
    return cntrled;
});

Change it into...

$(document).bind('keyup keydown', function (e) {
    var shifted = e.shiftKey
        , cntrled = e.metaKey || e.ctrlKey;
    return true;
});
于 2013-01-25T08:48:15.020 に答える