2 события для ссылки :)
Помогите решить задачку плиз :)
Есть ссылка. Надо чтобы она сробатывала на 2 события. click(); и dblclick(); при dblclick() юзер перенаправляется по ссылке. при click() просто подгружается инфа через ajax но юзер не перенаправляется по ссылке. Как отследить будет пользователь нажимать dblclick()? Если да?, то чтобы подгрузка инфы через ajax на click() не сробатывала? Может кто подскажет оптимальный вариант? Спасибо :) |
то,что сразу возникло в голове :
$(elem).bind('click dblclick',function(e){ if(e.type == 'click'){ //подгружаем инфу на аяксе return false; }else { //??? просто направляем? } }) НО firebug говорит,что возникает два click,перед одним dblclick. считать одиночные клики и определять,делится ли кол-во на 2, не имеет смысла. очевидно, придется делать либо через таймауты , либо считать количество кликов(?). я попробовал через говнокодные таймауты. гавнокодные,потому что : когда делал через SetTimeout при одиночном клике , то на двойном клике (dblclick) таймаут не снимался (хз,почему.. таймаут был в window, ClearTimeout(t) ошибок не выдавал,но и не работал ) // HTML -- > <a href="http://google.ru/" id="a">google</a> el = $(document.getElementById('a')),doo=false el.bind('click dblclick', function(e){ if(e.type=='dblclick') { doo = false; } else { t = setTimeout(function(){ if(doo) el.css('color','red'); //тут подгрузка через аякс },200) doo = true; } return false; // чтобы не переходил по ссылке }) // handler and bind end протестил,у меня работает сомневаюсь,что я написал этот код хорошо , потому что :
кстати, любимый гугл не дал ответа )) |
Спасибо melky.
Попробую замутить по Вашему принципу. |
Часовой пояс GMT +3, время: 14:55. |