Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Прошу совета! (https://javascript.ru/forum/misc/12929-proshu-soveta.html)

timemanager 09.11.2010 06:49

Прошу совета!
 
Подскажите, пожалуйста!
В функции создаются DIV для каждого из которых необходимо присвоить действие onMouseOver и onMouseOut для вывода всплывающей подсказки (с хтмл тэгами). Пробовал самые различные написания, ничего пока не срабатывает...

var tl=0;
var tooltxt='текст подсказки для tooltipe';

function getStatus(start, stop, color, note){	//dd.mm.yyyy hh:mm 
        tl++;
        tooltxt=note;
        var ds = new Date(start.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1'));
        var df = new Date(stop.replace(/(\d+).(\d+).(\d+)/, '$3/$2/$1'));
        var nach = ds.getHours()*60 + ds.getMinutes();
        var dlit = df.getHours()*60 + df.getMinutes() - nach;

	var D = document.createElement("DIV");
	D.id = 't'+tl;
	D.style.position='absolute'; 
	D.style.height='32px'; 
	D.style.left = nach-480+'px'; 
	D.style.top = '0px';
	D.style.width = dlit*4+'px';
	D.style.backgroundImage='img/timeline,png';
	D.style.backgroundColor=color;
	D.style.zindex = 1; 
	D.style.display = '';
	D.style.visibility = 'visible';
        D.style.overflow = 'visible'; 

        D.onMouseOver=tooltip.show(tooltxt);  // в FireBug не показывается
        D.onmouseout=tooltip.hide();            // нет в FB

        D.title=start+':'+stop+' '+note;

	document.getElementById('timeLine').insertBefore(D,null);
}


Извините за дурацкий вопрос..

ksa 09.11.2010 08:31

Цитата:

Сообщение от timemanager
Пробовал самые различные написания

Это читал?
http://javascript.ru/tutorial/events/intro

timemanager 09.11.2010 09:05

читал

monolithed 09.11.2010 09:18

Цитата:

Сообщение от ksa
http://javascript.ru/tutorial/events/intro

Не в этом основная суть
<style type="text/css">
div {
    color: white;
    width: 200px;
    height: 20px;
    text-align: center;
}
</style>

<script type="text/javascript">
window.onload = function(){
    for(var i=0; i<10; i++){
        var div = document.createElement('div');
        div.style.background = '#'+i+i+i+i+i+i;
        div.innerHTML = i;
        document.documentElement.appendChild(div);
    }
    
    var divs = document.getElementsByTagName('div');
    for(var j=0; j<divs.length; j++){
        divs[j].onclick = function(j){
            return function(){
                alert(j);
            };
        }(j);
    }    
};
</script>

ksa 09.11.2010 09:26

Цитата:

Сообщение от timemanager
читал

Так вот там есть такой подпункт

Цитата:

Через свойство объекта

Самый близкий родственник описанного выше способа - установка функции-обработчика через свойство onсобытие соответствующего элемента. Этот способ тоже будет работать в любом браузере с поддержкой JavaScript.

Для этого нужно:
получить элемент
назначить обработчик свойству on+имя

Вот пример установки обработчика события click на элемент с id="myElement":
document.getElementById('myElement').onclick = function() {
    alert('Спасибо')
}
<input id="myElement" type="button" value="Нажми меня"/>


timemanager 09.11.2010 09:30

Точно! Спасибо!

ksa 09.11.2010 10:19

timemanager, заходи еще... :)


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