0

method1init で直接実行すると機能するのに、keyevent によってトリガーされた場合は機能しないのはなぜですか。32,39 キーイベントでは機能しませんが、キーイベント 37 では機能します。したがって、関数は機能するはずです。

init関数も機能します。たとえば、method2メソッドが実行されているときに init するときmethod1です。これは機能しますが、なぜkeyevent機能しないのですか?

function myClass() {
    this.method1 = function method1(word) {
        alert(word)
    }
    this.method2 = function method2(word) {
        this.method1(word);
    }
    this.shortcutKey = function shortcutKey() {
        document.onkeydown = function (event) {
            if (event.keyCode == 32 || event.keyCode == 39) {
                this.method1("undirect");
            } else if (event.keyCode == 37) {}
        }
    }
    this.init = function init() {
        this.method2("direct init");
        this.shortcutKey();
    }
    this.init();
}
var object = new myClass();
4

3 に答える 3