“это” ключевое слово в методах события при использовании объекта прототипа JavaScript

Правильный двойной символ круглой скобки (U+2E29) в Вашем примере кажется в нескольких шрифтах только, согласно обычно надежным (не совсем завершенная мысль) источник: http://www.fileformat.info/info/unicode/char/2e29/fontsupport.htm

Так 12,04 рендеринга - то, что я ожидал бы: это похоже на â €œ отсутствующий glyphâ € индикатор, созданный браузером. По-видимому, это было ранее представлено с помощью одного из редких шрифтов, содержащих символ, шрифт, который был так или иначе потерян (например, перемещенный где-нибудь, где Firefox не может найти его). Но Arial, конечно, не содержит этот символ (который был представлен в Unicode 5.1, и Arial значительно старше).

12
задан Anthony Rutledge 3 October 2016 в 20:54
поделиться

3 ответа

Ваша "that = this" идиома закрытия все еще применима:

function MyClass()
{
    ...

    var that = this;
    this.link.onclick = function() {
        return that.EventMethod.apply(that, arguments);

        // that.EventMethod() works too here, however
        // the above ensures that the function closure
        // operates exactly as EventMethod itself does.

    };
}
9
ответ дан 2 December 2019 в 05:41
поделиться

Вам необходимо:

this.link.onclick = this.EventMethod.bind(this);

... 'bind' является частью Prototype и возвращает функцию, которая вызывает ваш метод с правильно установленным 'this'.

13
ответ дан 2 December 2019 в 05:41
поделиться

Вы должны попробовать

this.link.onclick = this.EventMethod.bind(this);
5
ответ дан 2 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: