Попробуйте этот код:
const el: HTMLElement | null = document.querySelector('.tip');
if (el) {
el.onmouseout = () => { el.scrollLeft += 10;};
}
Проблема в том, что все функции в JS могут вызываться при изменении контекста, например: el.onmouseout.call(newContext, arg1, arg2, ...)
или el.onmouseout.apply(newContext, [arg1, arg2, ...])
. Итак, вы делаете, вы создаете функцию, а затем назначаете ее свойству el
, чтобы эта функция ничего не знала о своем контексте, поэтому у вас есть ошибка. А когда вы измените this
на конкретную константу, TS узнает, что это за тип, и может обработать его