Показать сообщение отдельно
  #3 (permalink)  
Старый 25.05.2019, 22:27
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

похожая тема Что делает эта часть кода?
Цитата:
Но читал, что такие элементы как див и проч js тоже рассматривает как объект
Совершенно верно.
В твоем примере this указывает на window при клике на диве.
<div onclick="f()">Жми!</div><script>
function f( ) {
alert (this === window);
};</script>


(К.О.) При клике на див вызывается функция onclick а не функция f
<div onclick="f()" id="dv">Жми!</div><script>
function f( ) {
   this.innerHTML="Привет!";
};
alert ("--- тело функции onclick -----\r\n"+dv.onclick+"\r\n--- тело функции f -----\r\n"+f);
</script>


Можно явно свойству onclick присвоить ссылку на функцию f тогда this будет работать как ты и ожидаешь.
<div onclick="f()" id="dv">Жми!</div><script>
function f( ) {
   this.innerHTML="Привет!";
};
dv.onclick = f;
</script>

Последний раз редактировалось MallSerg, 25.05.2019 в 22:40.
Ответить с цитированием