Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.06.2013, 17:49
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Обработчик для двух событий у разных объёктов
Два дня уже ищу не могу найти Подскажите пожалуйста такую конструкцию, в которой указываешь название элементов, на которых не делать блур.

Последний раз редактировалось gearique, 11.06.2013 в 21:37.
Ответить с цитированием
  #2 (permalink)  
Старый 11.06.2013, 22:41
Аватар для BaVa
Аспирант
Отправить личное сообщение для BaVa Посмотреть профиль Найти все сообщения от BaVa
 
Регистрация: 16.11.2011
Сообщений: 60

если я правильно понял, то можно сделать примерно так:
<!doctype html> 
<html>
<head>
<meta charset="utf-8">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$(".one").on("click", function() { // подключаем событие для всех элементов с классом one
		$(this).css({backgroundColor: "#f80"});
	});
	$(".two").off("click"); // отключаем событие для элемента с классом two
});
</script>
</head>
<body>
	<div class="one">
		one
	</div>
	<div class="one two">
		two
	</div>
	<div class="one">
		three
	</div>
</body>
</html>

Последний раз редактировалось BaVa, 11.06.2013 в 22:43.
Ответить с цитированием
  #3 (permalink)  
Старый 12.06.2013, 00:31
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Как бы всё гораздо сложнее...

Фокус у меня находится на инпуте, так вот при клике на кнопку, которая рядом с этим инпутом я хочу выполнять одно действие, а просто при блюре инпута- другие.
Ответить с цитированием
  #4 (permalink)  
Старый 12.06.2013, 00:55
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

<!DOCTYPE html>
<html>
<input onblur=f()><button onmousedown=f1()>click</button>
<script>
var a=0;
function f(){if(a)alert(11);else alert(444);a=0};
function f1(){a=1};
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 12.06.2013, 01:02
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Я пробовал такую конструкцию- она не работает: сначала срабатывает блюр у эллемента, а клик на кнопку уже после. вот такие дела.
Ответить с цитированием
  #6 (permalink)  
Старый 12.06.2013, 01:05
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от gearique
Я пробовал такую конструкцию- она не работает: сначала срабатывает блюр у эллемента, а клик на кнопку уже после. вот такие дела.
это если click использовать а если mousedown как я использовал то все правильно срабатывает
Ответить с цитированием
  #7 (permalink)  
Старый 12.06.2013, 01:37
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Ааа... но этот способ тоже не подходит, т.к. mousedown не подходит для планшетов.
Ответить с цитированием
  #8 (permalink)  
Старый 12.06.2013, 02:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

gearique,
я вот все никак не могу понять что конкретно вы хотите получить... Я так понимаю обработать клик до того как сработает событие блюр? Дык это не возможно, ибо клик всегда будет срабатывать позже.
<input /><button>click</button>
<script>
    document.addEventListener('blur', function(e) {
        if (e.target.nodeName === 'INPUT') {
            document.body.appendChild(document.createTextNode('blur|'));
        }
    }, true);
    document.querySelector('button').addEventListener('click', function(e) {
        document.body.appendChild(document.createTextNode('click|'));
    }, false);
</script>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 12.06.2013, 09:12
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от gearique
Ааа... но этот способ тоже не подходит, т.к. mousedown не подходит для планшетов.
<!DOCTYPE html>
<html>
<input onblur=f()><button onclick=f1() >click</button>
<script>
var a=0;
function f(){setTimeout(function(){if(a)alert('click');else alert('blur');a=0},400)};
function f1(){a=1;};
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 13.06.2013, 04:09
Интересующийся
Отправить личное сообщение для gearique Посмотреть профиль Найти все сообщения от gearique
 
Регистрация: 11.06.2013
Сообщений: 12

Спасибо! Работает!
Немного подправил и работает... выложить функцию, может кому пригодиться?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Кто чем пользуется для генерации событий при модульном тестировании? MVH Events/DOM/Window 0 30.12.2010 17:10
Обработчик событий kucaeva Общие вопросы Javascript 2 10.12.2010 16:42
обработчик события focus для окна Сергей Д Internet Explorer 4 22.09.2010 17:33
обработчик собития onMouseOver для фрейма Rian Events/DOM/Window 7 06.06.2008 19:48