Главная Новые темы Список тем Задать вопрос Поиск  

Форум "Web-мастер"


Технологии web-програмирования


 #0 VictorT © 30.08.06 11:20:18 - 30.08.06 17:22:44

Как наиболее правильно обрабатывать события onclick и ondblclick для одного обьекта в JavaScript



В смысле, как наиболее правильно в событии onclick узнать, что обработчику выполнятся не нужно, т.к. далее последует ещё один клик, и это уже будет событие двойного клика, и именно его обработчик и надо выполнять? Цитата

 #1 VictorT © 30.08.06 11:42:42

З.Ы. В дельфях есть константа GetDoubleClickTime, есть ли её аналог в JavaScript?
 #2 VictorT © 30.08.06 13:33:33

Пока реализовал вот так, но не нравится мне заметная на глаз задержка рекации на одинарный клик:

var timerID;

function on_click()
{
    timerID = setTimeout('on_click2()', 500);
}

function on_click2()
{
    // действия при одинарном клике
}

function on_dblclick(code)
{
    clearTimeout(timerID)
    // действия при двойном клике
}
 #3 VictorT © 30.08.06 17:02:45

сделал круче:
function on_click()
{
    // действия при одинарном клике
}

function on_dblclick(code)
{
    // откат действия одинарного клика
    // действия при двойном клике
}

откад действия одинарного клика менее заметен визуально (точнее в моём случае незаметен вообще), чем ожидание, а не состоится лм второй клик, а потом выполнение действия для одинарного клика.
 #4 Andrey © 30.08.06 17:12:41

хм... а вопрос такой:
Как "действия при одинарном клике" была "заметная на глаз задержка рекации" в посте#2, и стал "незаметен вообще" в посте#3 ?
Действие было заметно, а потом резко перестало быть? )))

P.S. По сабжу нифига не знаю. Скажу лишь что с таймером мне чисто идеологически больше нравится, чем с откатом. Хотя конечно и то и другое выглядит не кошерно )
 #5 VictorT © 30.08.06 17:22:44

> к "действия при одинарном клике" была "заметная на глаз
> задержка рекации" в посте#2, и стал "незаметен вообще"
> в посте#3 ?
хм, сам задумался... и перепроверил и перепродумал. В общем, по первому способу есть задержка на выполнение действия после первого клика в пол секунды, именно её и заметно. Во втором способе задержки после первого клика нету.
Но появляется задержка между выполнением первого действия и его откатом, равная длительности моего даблклика, который, судя по всему, у меня меньше пол секунды. Вот так, субьективно, и воспринимается, видимо, второй способ лучше.




  • Написать ответ

    Имя: Регистрация HTML?
    smiles смайлики
    Потом перейти в:    
    паутина



      ©  webest.net, 2002-2007  

    top.mail.ru
    » Бесплатный счетчик посещений
    » Рейтинг сайтов