Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2008, 19:14
Новичок на форуме
Отправить личное сообщение для krot357 Посмотреть профиль Найти все сообщения от krot357
 
Регистрация: 10.06.2008
Сообщений: 2

jnMouseUp в FF
Доброго времени суток всем. Сорри за простой вопрос (я новичок в JS)- поиском не нашел. Проблема в следующем: Есть два div-a (div1 и div2). В div1 есть img с определенными onMouseDown и onMouseUp. По mouseDown div1 присваевается display=none, а div2 - display=block. По mouseUp, соответсвенно наоборот. Идея в том : Пока держишь нажатой кнопку на img виден div2 с картинкой большего размера, отпустил кнопку - вернулся к превьюшкам. В IE работает, а в FF обработчик onMouseUp не вызывается( я так понимаю из-за того что img в этот момент не отображается). Как это можно обойти.
Ответить с цитированием
  #2 (permalink)  
Старый 10.06.2008, 21:29
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

разместить mouseUp на второй див?
Ответить с цитированием
  #3 (permalink)  
Старый 10.06.2008, 22:35
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,234

вот наваял на скорую руку такое решение:
поместить картинки в общий див, и ему повесить обработчики.
<div style="height:10;width:10;" onmousedown="view_big(this)" onmouseup="view_small(this)" >
<img src="big.gif" style="display:none" />
<img src="small.gif" style="display:inline-block" />
</div>

function view_big(parent_node)
	{
	if( parent_node.image_preview == undefined )
		parent_node.image_preview=parent_node.getElementsByTagName('IMG');
	parent_node.image_preview[1].style.display="none";
	parent_node.image_preview[0].style.display="block";
	}
function view_small(parent_node)
	{
	if( parent_node.image_preview == undefined )
		parent_node.image_preview=parent_node.getElementsByTagName('IMG');
	parent_node.image_preview[0].style.display="none";
	parent_node.image_preview[1].style.display="block";
	}
Ответить с цитированием
  #4 (permalink)  
Старый 11.06.2008, 09:18
Новичок на форуме
Отправить личное сообщение для krot357 Посмотреть профиль Найти все сообщения от krot357
 
Регистрация: 10.06.2008
Сообщений: 2

Всем спасибо. Уже разобрался. IE генерит события и для невидимых элементов, а FF нет. Поэтому обработчик onMouseUp поместил, как и советовал Snipe на div контейнер внутри которого лежат два исходных div-а,
теперь работает и в IE и в FF
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск