Помогите по JS. Упарился с document.onclick и target

D
На сайте с 14.01.2007
Offline
153
#41
R
На сайте с 17.11.2011
Offline
22
#42
Great-Antique:
Пример:

var my_element = null;
function fff(e){my_element=e.target;}
document.onclick=fff;

Код выше обрабатывает клик по элементу. Дальше идет любой код.
Теперь у нас место, где мы хотим обратиться к элементу, на который мы кликнули. (Например, мы хотим поменять цвет, но можно сделать все что угодно с этим элементом)

function change_color(color)
{
if (my_element != null) my_element.style.color = 'red';
}

Эту функцию теперь можно назначить на любой ивент, или вызвать вручную.

Это называется "в любой момент к нему обратиться откуда угодно"?

😂 Жжошь.

А-нука, расскажи застывшей в изумлении публике, как обратиться "в любой момент", например, уже не кликая по документу. 😂

домашняя страница - google.com.ua
ДП
На сайте с 23.11.2009
Offline
203
#43
rommer:

А ну-ка, покажите, как, после
var my_element=e.target;
можна "в любой момент к нему обратиться откуда угодно" 😂

rommer, ты просил показать как после клика обратиться - тебе показали. Не съезжай с темы.

R
На сайте с 17.11.2011
Offline
22
#44
Дикий пионер:
rommer, ты просил показать как после клика обратиться - тебе показали. Не съезжай с темы.

в теме ясно сказано:

Нужно каким-то образом идентифицировать кликнутый объект, чтобы к нему можно было обратиться уже без клика по документу

Если кто и съезжает, то это ты.

А вообще в дальнейшем отказываюсь реагировать на троллинг Дикого пионэра и Great-Antique.

Мне нужно было решить проблему, а не заниматься дурацким флудом.

ДП
На сайте с 23.11.2009
Offline
203
#45

Чем вас не устраивает код по этой ссылке - http://jsfiddle.net/Wyjss/ ?

D
На сайте с 14.01.2007
Offline
153
#46

rommer, вы видели моё сообщение?

R
На сайте с 17.11.2011
Offline
22
#47
Dinozavr:
rommer, вы видели моё сообщение?

Да, заходил, смотрел.

Правда, в моей опере оно не работает.

Например пишу код, но в примере код не меняется.

Вы предлагаете перелопатить код на том сайте?

Great-Antique
На сайте с 21.08.2010
Offline
16
#48

1) Зачем усложнять задачу. Напиши в какой конкретно момент тебе надо обратиться?

2) я не писал var my_element=e.target;

я писал

var my_element = null;

function fff(e){my_element=e.target;}

document.onclick=fff;

Не чувствуешь разницы?

Пишу небольшие PHP-скрипты бесплатно. Главное, чтобы интересно было. Блог о PHP-разработке (http://den.girnyk.com) и не только.
D
На сайте с 14.01.2007
Offline
153
#49
rommer:
Да, заходил, смотрел.
Правда, в моей опере оно не работает.
Например пишу код, но в примере код не меняется.
Вы предлагаете перелопатить код на том сайте?

там не надо ничего лопатить.

весь код в левом верхнем окне и прекрасно изменяется в опере.

нажимаем на любой из квадратов и потом "do magic", при этом последний кликнутый квадрат становится красным.

всё работает в опере

Great-Antique
На сайте с 21.08.2010
Offline
16
#50

Рабочий пример, который явно показывает, что после клика можно обратиться к элементу, на который кликнули, в любом месте.

var my_element = null;

function fff(e){

my_element=e.target;

document.onclick=function(e){return true;}

}

document.onclick=fff;

function eee(e){

if (my_element != null)

document.getElementById('sidebar').innerHTML = my_element.tagName;

}

document.getElementById('widgets').onmouseover=eee;

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий