Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как добавить метод к диву (https://javascript.ru/forum/misc/10129-kak-dobavit-metod-k-divu.html)

KOLANICH 20.06.2010 19:20

как добавить метод к диву
 
создаю див с помощью javascript
как добавить метод к узлу дом?

exec 20.06.2010 19:25

Object.prototype.getContent = function () {
return this.innerHTML;
}


div.getContent(); // Вернёт innerHTML DIV'-а

KOLANICH 20.06.2010 19:27

то есть это распространится на все дивы?
а к конкретному диву можно добавить метод?

exec 20.06.2010 19:30

Нет наверно.

KOLANICH 20.06.2010 19:32

ясно
тогда не буду париться, напишу функцию и передам ей див :)

B@rmaley.e><e 20.06.2010 19:42

var div = document.createElement('div');
div.uMethod = function(){
  alert(this.tagName)
};
div.uMethod();

KOLANICH 20.06.2010 19:52

у меня так не пахало почему-то
код был такой
function addItem(caption,func){
	if(!menu)makeMenu();
	//return false;
	var menuItem=document.createElement('div');
	menuItem.className="GMMenuItem";
	menuBody.appendChild(menuItem);
	menuItem.addEventListener("click",func,false);
	menuItem.innerHTML=caption;

	menuItem.rollUp=function(){
	this.style.display="none";//visible style
}
menuItem.dropDown=function(){
	this.style.display="block";//visible style
}
	menuItems.push(menuItem);
	
}

KOLANICH 20.06.2010 19:59

не вызывалось:(

qwoiejfoiej 20.06.2010 20:02

А кто такой func? Можно его код?
И кстати, я в DOM рублю плохо, но разве innerHTML не удаляет прицепленные ивенты?
Да, туплю, не удаляет. :>

exec 20.06.2010 20:21

KOLANICH, потому что this указывает на window. Исправь на menuItem.


Часовой пояс GMT +3, время: 14:36.