Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

События onmouseover и onmouseenter

3.3K
09 августа 2006 года
clown
26 / / 31.05.2004
как добавить событие для метки, чтобы при наведении мыши оно выполнялось один раз?

я пробовал: label1.Attributes.Add("onmouseover", "doTest()"); при этом doTest вызываеться до тех пор пока не происходит StackOverflow или указатель не выйдет за пределы метки, такая же ситуация с "onmouseenter".
273
09 августа 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=clown]как добавить событие для метки, чтобы при наведении мыши оно выполнялось один раз?

я пробовал: label1.Attributes.Add("onmouseover", "doTest()"); при этом doTest вызываеться до тех пор пока не происходит StackOverflow или указатель не выйдет за пределы метки, такая же ситуация с "onmouseenter".[/quote]
Ты хоть уточняй, что это для ASP.NET. На счёт onmouseover ты прав, а вот что касается onmouseenter - то он срабатывает лишь однажды (при входе указателя на контрол). Посмотри на реализацию метода doTest2. Ещё можеть из-за DHTML Validation такой прикол быть, т.к. onmouseenter не поддерживается на некоторых браузерах. Тогда это дело можно запрограммить на onmouseover так:
Код:
[SIZE=2]<% [/SIZE][SIZE=2][COLOR=#0000ff]@[/COLOR][/SIZE][SIZE=2][COLOR=#800000]Page [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]Language[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="C#" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]AutoEventWireup[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="true" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]CodeFile[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="Default.aspx.cs" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]Inherits[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="_Default"[/COLOR][/SIZE][SIZE=2] %>
[/SIZE][SIZE=2][COLOR=#0000ff]<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]html[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]head [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]runat[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="server">
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]title[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>[/COLOR][/SIZE][SIZE=2]Untitled Page[/SIZE][SIZE=2][COLOR=#0000ff]</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]title[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]head[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]script [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]language[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="javascript">
var[/COLOR][/SIZE][SIZE=2] isEntered = [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][SIZE=2]; [/SIZE][SIZE=2][COLOR=#008000]//флаг, который показывает, что мышь над меткой
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]var[/COLOR][/SIZE][SIZE=2] callCount = 0;
[/SIZE][SIZE=2][COLOR=#0000ff]function[/COLOR][/SIZE][SIZE=2] onMouseOverHandler()
{
[/SIZE][SIZE=2][COLOR=#0000ff]if[/COLOR][/SIZE][SIZE=2](!isEntered)[/SIZE][SIZE=2]
document.all[[/SIZE][SIZE=2][COLOR=#800000]'myControl'[/COLOR][/SIZE][SIZE=2]].innerHTML = [/SIZE][SIZE=2][COLOR=#800000]'Mouse is inside of the control. Count of calls: '[/COLOR][/SIZE][SIZE=2]+callCount++;[/SIZE]
[SIZE=2][COLOR=#0000ff]else[/COLOR][/SIZE][SIZE=2] isEntered = [/SIZE][SIZE=2][COLOR=#0000ff]true[/COLOR][/SIZE][SIZE=2];
}
[/SIZE][SIZE=2][COLOR=#0000ff]function[/COLOR][/SIZE][SIZE=2] onMouseOutHandler()
{
document.all[[/SIZE][SIZE=2][COLOR=#800000]'myControl'[/COLOR][/SIZE][SIZE=2]].innerHTML = [/SIZE][SIZE=2][COLOR=#800000]'Mouse is outside of the control'[/COLOR][/SIZE][SIZE=2];
isEntered = [/SIZE][SIZE=2][COLOR=#0000ff]false[/COLOR][/SIZE][SIZE=2];
}
[/SIZE][SIZE=2][COLOR=#0000ff]</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]script[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]body[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]form [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]id[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="form1" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]runat[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="server">
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]asp[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]:[/COLOR][/SIZE][SIZE=2][COLOR=#800000]Label [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]ID[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="Label1" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]runat[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="server" [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]Text[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="Label"></[/COLOR][/SIZE][SIZE=2][COLOR=#800000]asp[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]:[/COLOR][/SIZE][SIZE=2][COLOR=#800000]Label[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]<[/COLOR][/SIZE][SIZE=2][COLOR=#800000]tt [/COLOR][/SIZE][SIZE=2][COLOR=#ff0000]id[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]="myControl">[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]tt[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]form[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]body[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
</[/COLOR][/SIZE][SIZE=2][COLOR=#800000]html[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]>
[/COLOR][/SIZE]

Код на C#:
 
Код:
[SIZE=2][FONT=Courier New]Label1.Attributes.Add([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"onmouseover"[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000]"onMouseOverHandler()"[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New]);[/FONT]
[FONT=Courier New]Label1.Attributes.Add([/FONT][/SIZE][FONT=Courier New][SIZE=2][COLOR=#800000]"onmouseout"[/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#800000]"onMouseOutHandler()"[/COLOR][/SIZE][SIZE=2]);
[/SIZE][/FONT]

Для наглядности в скрипте есть переменная callCount, которая подсчитывает количество прохождений указателя над меткой.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог