Показать сообщение отдельно
  #1 (permalink)  
Старый 18.12.2013, 14:23
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Клик и двойной клик
Вот пример...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
.on {
	background-color: green;
}
</style>
<script type="text/javascript">
$(function (){
	$('li').click(function (){
		if (this.className=='on') {
			action();
		} else {
			select(this);
		};
	});
	$('li').dblclick(function (){
		select(this);
		action();
	});
});
function select(Obj) {
	$(Obj.parentNode).find('li').removeClass('on');
	Obj.className='on';
};
function action() {
	alert('Action!')
};
</script>
</head>
<body>
<ul>
	<li>Item 1</li>
	<li>Item 2</li>
	<li>Item 3</li>
</ul>
</body>
</html>

При клике элемент либо выделяется... Либо срабатывает "экшн", если элемент уже выделен...
На двойной клик навешено выделение и запуск экшна...

Но при таком раскладе при двойном клике выполняется клик+клик+двойной_клик и экшн запускается два раза.
Как обойти это?
Пока решил проблему через переменную... Но это не нравится... Есть еще какие варианты?
Ответить с цитированием