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 в этот момент не отображается). Как это можно обойти.
|
разместить mouseUp на второй див?
|
вот наваял на скорую руку такое решение:
поместить картинки в общий див, и ему повесить обработчики. <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"; } |
Всем спасибо. Уже разобрался. IE генерит события и для невидимых элементов, а FF нет. Поэтому обработчик onMouseUp поместил, как и советовал Snipe на div контейнер внутри которого лежат два исходных div-а,
теперь работает и в IE и в FF |
Часовой пояс GMT +3, время: 22:52. |