Javascript.RU

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

Выделение элементов по клику при зажатой кнопке клавиатуры
Есть несколько дивов. Они в ссылках. по клику открывается попап:

<a href='#' onclick="PopupCenter('task_info.php?id=48', 'title',500,350)">
<div class='draggable' ><p>30</p></div>
</a>


Необходимо следующее:
Зажимаем на клавиатуре, например, ctrl. После этого делаем клик на div, но попап не открывается, а какой либо параметр из тега див записывается в какой-то массив. Жмакаем на следующий див - такой же параметр пишется дальше в массив. И так в последователньость, пока не будет отпущен ctrl. Как только ctrl отпущен, массив передаётся гетом в какой-нить php-скрипт...
Кто подскажет куда копать?
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2012, 18:50
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<body>
<style>
	div {
		background: lightgreen;
		border: solid 1px;
		height: 200px;
		width: 200px;
		display: inline;
		cursor: pointer;
	}
</style>

<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>

<script>
window.onload = function () {
	var mas = [];
	
	document.body.onclick = function (e) {
		e = e || event;
		var target = e.target || e.srcElement;
		if (e.ctrlKey == true)  {
			mas.push(target.innerHTML);
		}
	}

	document.body.onkeyup = function (e) {
		e = e || event;
		if (e.keyCode == 17) {
			alert(mas);
			mas = [];
		}
	}
}
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2012, 18:52
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

bes,
промахнулся, очень жестко промахнулся -
e = e || event;
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2012, 19:25
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Dim@
bes,
промахнулся, очень жестко промахнулся -
e = e || event;
Что не так? не вкурил
Ответить с цитированием
  #5 (permalink)  
Старый 14.08.2012, 19:27
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

bes,
ты издеваешься?
e = e || window.event
- ты обычно так пишешь (я тоже)
Ответить с цитированием
  #6 (permalink)  
Старый 14.08.2012, 19:34
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Dim@
bes,
ты издеваешься?
e = e || window.event
- ты обычно так пишешь (я тоже)
я уж так давно не пишу, глобальная переменная - свойство window, проверь в IE работает или нет
Ответить с цитированием
  #7 (permalink)  
Старый 14.08.2012, 20:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Dim@,
поосторожнее с культом карго, чтобы быть хорошим программистом надо не просто копировать типичные шаблоны, но и понимать их суть и смысл тех или иных действий.

window.event нужен только в том случае если вверх по цепочке scope'оф где-то назначена собственная переменная event. Мы обычно такого не допускаем, но на всякий случай если скрипт может использоваться где-то ещё можно и написать.
В целом же это написание на мой взгляд осталось от тоже стандартного шаблона:
function(event){
  event = event || window.event
}
где window.event уже обязателен всвязи с перекрытием основого event.
__________________
29375, 35

Последний раз редактировалось Aetae, 14.08.2012 в 21:04.
Ответить с цитированием
  #8 (permalink)  
Старый 14.08.2012, 20:53
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Aetae,
Не забывайте ещё о том, что где-то ещё может быть назначена собственная переменная window
Ответить с цитированием
  #9 (permalink)  
Старый 14.08.2012, 21:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Сообщение от oneguy Посмотреть сообщение
Aetae,
Не забывайте ещё о том, что где-то ещё может быть назначена собственная переменная window
Всяко бывает, но тут уж мало чем поможешь)
__________________
29375, 35
Ответить с цитированием
  #10 (permalink)  
Старый 15.08.2012, 11:15
Новичок на форуме
Отправить личное сообщение для M03G Посмотреть профиль Найти все сообщения от M03G
 
Регистрация: 09.08.2012
Сообщений: 4

Большое спасибо за помощь!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение строки <select> при выборе checkbox DarkMaster13 Общие вопросы Javascript 4 14.04.2014 03:30
Выделение строки <select> при выборе другого <select> simbion Элементы интерфейса 12 05.05.2009 03:43
вставка элементов массива в текстовую форму по клику olezyk Общие вопросы Javascript 3 21.03.2009 22:01
Выделение checkbox при условии атрибута... SashaBorandi jQuery 1 07.02.2009 14:18
FireFox: onmouseover не работает при зажатой кнопке мыши no. Общие вопросы Javascript 4 19.08.2008 13:43