Сообщение от danik.js
			 
		
	 | 
	
		Ну вы укурки ))) Два укурка )) 
 
А теперь выдохни и посмотри на код из Контекст this для событий . 
Ниче не напоминает ?    
Или перестать укуриваться ) Ибо нет никакой разницы инлайн-не инлайн. Повторяю для накуренных: JavaScript не завязан на HTML. Нет никакой разницы между функцией созданной из атрибута, и функцией, присвоенной в js коде.
	 | 
	
Причём тут укуриваться, чё за манера? 

Вот именно, напоминает, ибо ты написал то же самое, где вызов идёт не в контексте элемента, а контексте Window. Об этом и писал мне отвечающий.
	
	
		
			Сообщение от danik.js
			 
		
	 | 
	| 
		нет никакой разницы инлайн-не инлайн.
	 | 
	
При инлайн надо явно передавать this в вызове!) Ты же сам видишь.
<button id="l" onclick="f();">инлайн-метод, не передаю this</button>
<button onclick="f(this);">инлайн-метод, передаю this</button>
<script type="text/javascript">
function f(obj_this){
    alert(this);
    alert(obj_this);
}
//здесь в вызове не передаётся this, но в ф-ции обработчики контекст устанавливается правильно, метод не инлайновый
document.getElementById('l').onmouseover = function (e) {
     console.log(this)
}
</script>
Накурился я или нет, а пример налицо. При инлайн-вызове надо просто this передавать, я запомню. И видна эта this будет лишь ф-ции, в кот-ую передаётся, а вот это говнище работать нормально не будет:
button2.onclick = function(event) {
   f(event);
};
т.к. внутри обработчика вызывается левая ф-ция в контексте Window. Вот это будет:
button2.onclick = function(event) {
   alert(this); //требуем this прямо в обработчике, а не посредством левой ф-ции
};
danik.js, меня отпустило 

Спасибо всем отписавшимся, вот бы на сайтах, пхп посвящённых, так же оперативно и с примерами отвечали...