Элемент, в котором была нажата клавиша 
		
		
		
		Имеется элемент (id="edit"). Пользователь может редактировать любое содержимое в нём. Необходимо получить объект в котором была нажата клавиша (например, с id="t1"). srcElement, target выдают объект edit. 
	
<div id="edit" contentEditable="true">
    <div id="t1">текст</div>
    <div id="t2">текст</div>
          ...
</div>
document.getElementById('edit').onkeypress = function( e )
{ /* код */ }
Вешать обработчики на каждый элемент не хочется, да и не красиво это. Надеюсь на помощь, спасибо.  | 
	
		
  | 
	
		
 Спасибо за ответ, но видимо я плохо обрисовал ситуацию. Мне необходимо словить не нажатие кнопки мыши, а нажатие клавиши. 
	 | 
	
		
 Думаю если обрисовать ситуацию будет получше: 
	Имеется 2 формы, нужно их синхронизировать (в первой добавили букву - добавилась во второй). Ничего лучшего кроме как разбивать на строки и их пересылать в другую форму не придумал.  | 
	
		
 я тебе правильную ссылку дал-тебе нужен с той страницы this 
	http://javascript.ru/tutorial/events...-element:-this или event.target http://javascript.ru/tutorial/events...nye-s-sobytiem всего онклик поменять на онпресап. как получить валуе из элемента знаешь,да и параллели между полями проведёшь с лёгкостью.да и какой из эдитов сработал тоже будет просто Зачем на строки бить ? посылаешь значение валуе из эдита(я понимаю что их несколько) в параллельный. Здесь в исходном коде вопроса-есть алгоритм обхода и получения значений с одинаковых элементов формы http://javascript.ru/forum/misc/1496...dioknopki.html  | 
	
		
 dmitriymar, 
	C onclick ясное дело работает. Сам был уверен что аналогично и заработают события, связанные с клавишами, но увы: this, event.target выдают именно эдит. Цитата: 
	
 Цитата: 
	
 Видимо всё же придётся вешать обработчики на все элементы. Жаль, очень жаль.  | 
	
		
 выборка из http://javascript.ru/tutorial/events...nye-s-sobytiem 
	-Обработчик стоит только на внешнем диве, но благодаря event.target выводит по клику класс исходного элемента. -ну а каждому элементу можно присвоить свой класс.каждый элемент имеет свой класс-ну а по нему легко определить id элемента. форму всго если она есть с содержимым в контейнер. ну или просто поля-если форма не используеться 
<div id="edit" contentEditable="true">
    <div id="t1"class="one">текст</div>
    <div id="t2" class="two">текст</div>
          ...
</div>
Дело в том, что длина может быть и несколько сотен строк, т.е не самый лучший вариант пересылать всю форму сразу. эдит-это не форма-это элемент формы.и часть значения из него не возможно сразу получить.  | 
	
		
 Цитата: 
	
 А разницы между получением класса и идентификатора нет никакой, в любом случае вначале требуется получить сам объект. Вот тут то как раз и начинаются пляски - в случае событий, связанных с КЛАВИАТУРОЙ, и this и event.target указывает на эдит. Я всё проверил не один раз, хоть убейте - выдаёт эдит. Цитата: 
	
 Если вешать обработчик на каждый элемент, то срабатывать будет всё правильно. Меня же интересует именно обработчик на внешнем div'е.  | 
	
		
 Я нагнул javascript.ru форум? 
	 | 
	
		
 Цитата: 
	
 всё работает с кнопками клавиатуры 
<div class="d1"
  onkeyup="t=event.target||event.srcElement; alert(t.className)"
>
<span class="number">1</span>
    <input type="text" value="34" class="er"/>
  <input type="text" value="35"class="rt" />
<textarea cols="" rows="" class="ty">er</textarea>
<textarea cols="" rows="" class="we">rt</textarea>
</div>
а небольшое изменение (вместо t.className написать t.id) будет показывать id элемента. хотя разницы в данном случае никакой применительно к этой задаче.работает-фф,опера,ие,сафари,хром в других не пробовал с чего бы это?:)или Matre это опять ты?  | 
| Часовой пояс GMT +3, время: 14:05. |