Эмуляция наведения мышки. Как?

  • Автор темы Mastyf
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Mastyf

Идея такая.

Есть input type="button", а на него абсолютным позиционированнием кладётся нужная картинка.

Очень хочется, чтобы при наведении на картинку кнопка под ним реагировала, как будто навели на неё.
Нужно именно эмулировать наведение на кнопку, а не подмену стилей.

Пример:

Полностью картинкой инпут делать не хочется, хочу доделать свою идею.
 
A

Andrew Stephanoff

HTML:
<input type="image" onmouseover=".." onmouseout=".." />
 
M

Mastyf

:rolleyes: вы не поняли, нужно при наведении на картинку эмулировать наведение и на Button. И структура <input tupe="image" ... > не подходит, т.к. вид кнопки не будет менятся в зависимости от стиля Windows.

Ежу понятно, что надо вешать на картинку onmouseover, но вот какой событие?
 
I

ioni

Оффтоп: я запутался....
Что именно нужно сделать?

Над кнопкой картина.
Картинка должна считывать onMouseOver.
Кнопка - тоже?
 
G

Gisma

перед постом вопроса прочитай его вслух.
Неужели сложно в обрабтичике события картинки сложно вызвать который вызвался бы при нажатии на кнопку?:) Да и зачем такие сложности.
В общем формулируй мысль
 
M

Mastyf

Я прошу прощения, что всех запутал... Писал вопрос, запаренный на работе :)

Если вы посмотрите на пример. Там поверх кнопки лежит картинка.

Я хочу, чтобы при !важно наведении на картинку активировалась кнопка под ней.

Хочу это реализовать без подмены стилей, реально?
 
G

Gisma

осталось выяснить что такое активизировалась:)
 
M

Mastyf

Если вы наведёте мышкой на кнопку в Windows XP (в дефолтной теме), то кнопка (по краям) поменяет цвет. Хочется такого же эффекта при наведении на картинку.
 
I

ioni

Правильно ли я понял тебя, что нужна кнопка, которая зависит от стиля Windows с изображением, которое является постоянным?
Ну не важно...

Я бы попробовал перенести фокус на кнопку, нечто вроде
Код:
<form id="General">
<p>some general text</p>
<input type="button" id="btnGeneral" value="hello!">
<a href="#" onMouseOver="document.forms.General.btnGeneral.focus()" onMouseOut="document.body.focus()">Link</a>
</form>

Извини - легь было тестировать на изображении, но я абсоютно уверен, что принцип будет один и тот же - мышка над рисунком - фокус на кнопку (когда мышка над кнопкой фокус и так там будет), мышка ушла - фокус на весь документ.

onMouseOver="document.forms.General.btnGeneral.focus()" onMouseOut="document.body.focus()"

То, что надо?
 
M

Mastyf

Хм... прийду завтра на работу и попробую. о результатах обязательно доложусь :)

Благодарю за совет.
 
M

Mastyf

не хочет :D

Пример кода:

Код:
function MouseOver(id) {
var obj = document.getElementById(id)
obj.focus()
}

<div style="position:absolute;"><input id="companyCB_button" type="button" onfocus="blur()" onclick="alert('click'); return false;" style="height:24px; width:19px;" value=""><img src="strelka.gif" OnMouseOver="MouseOver('companyCB_button')" onclick="alert('click'); return false;" style="position:absolute; top:9px; left:5px;"></div>
 
I

ioni

Код:
<script>
function scr_on(passid)
{
document.getElementById(passid).focus()
}

</script>
<form id="General">
<p>some general text</p>
<input type="button" id="btnGeneral" value="hello!">
<img src="strelka.gif" style="position:absolute; top:50px; left:60px;" onMouseOver="scr_on('btnGeneral');" onMouseOut="document.body.focus()">
</form>
Копия из закрытой темы, но чтобы не искать потом долго.
в твоем скрипте - на фокус кнопка делает blur(), в результате - не подсвечивается. А оно тебе надо, чтобы она блюрилась?!


Чтобы совсем просто было - посмотри свой скрипт:
Код:
<script>
function MouseOver(id) {
var obj = document.getElementById(id)
obj.focus()
}
</script>
<div style="position:absolute;"><input id="companyCB_button" type="button" onclick="alert('click'); return false;" style="height:24px; width:19px;" value=" "><img src="strelka.gif" onMouseOver="MouseOver('companyCB_button')" onMouseOut="document.body.focus();" onclick="alert('click'); return false;" style="position:absolute; top:9px; left:5px;" ></div>
Единственно, что я добавил - это убрать focus с объекта, когда с картинки уходит мышка
 
M

Mastyf

blur() там для того, чтобы не появлялась рамка при клики на button

Причём blur() и неведение мышки на баттон работает по разному.

В общем, пришлось отказаться от кроссXPstyle кнопок. Всем спасибо.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!