Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110

Какой элемент совершил действие

26.11.2009, 10:48. Показов 3298. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день)
Подскажите пожалуйста, как узнать какой элемент совершил действие...
Я использую jquery.
Надо сделать так, что при нажатии на клавишу Enter в определенном элементе input у меня выполнилось необходимое действие(предположим выскакивает диалоговое окно)...

Сейчас сделано что просто перехватывается нажатие на Enter.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function keyPr(e) {
 
if (e) keyCode = e.which
else if (event) keyCode=event.keyCode
else return
if (keyCode == 13)
    alert("Вы нажали на клавишу Enter!");
}
document.onkeypress=keyPr;
 
if (navigator.appName == 'Netscape') {
    window.captureEvents(Event.KEYPRESS);
    window.onKeyPress = keyPr;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.11.2009, 10:48
Ответы с готовыми решениями:

Как узнать, какой скрипт отвечает за действие на странице
Есть действие на странице - "до нового года осталось 00-00-00 минут" как узнать, какой скрипт отвечает за это действие?

Обратное действие по клику на один элемент
Кликнули на DIV Увеличили ширину Кликнули вне его Вернули прежнее значение Подскажите в чем вся прелесть? Могу при клике...

Действие при нажатии на отдельный элемент
Здравствуйте! У меня есть несколько(много) ссылок. Все с одинаковым классом (их много так что давать каждому id будет проблематично). Как...

13
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
26.11.2009, 11:02
target/srcElement
1
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110
26.11.2009, 11:45  [ТС]
Спасибо, это то что нужно... но мне все равно не разобраться...Не подскажите как именно мне определить была ли нажата клавиша внутри элемента input, родительский блок которого имеет класс test? )

так не работает
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function keyPr(e) {
var srcElement = e.srcElement ? e.srcElement : e.target;
if (e) keyCode = e.which
else if (event) keyCode=event.keyCode
else return
if (keyCode == 13 && srcElement==$("div.test > input")){
    
    alert("Вы нажали на клавишу Enter в нужном вам инпуте");
}
}
document.onkeypress=keyPr;
 
if (navigator.appName == 'Netscape') {
    window.captureEvents(Event.KEYPRESS);
    window.onKeyPress = keyPr;
}
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
26.11.2009, 14:52
JavaScript
1
srcElement.parent.className
?
0
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110
26.11.2009, 16:34  [ТС]
Так вот почему то для элемента srcElement код srcElement.parent().get(0).className; не работает
ничего не понимаю...может другим способом узнать можно какой элемент совершил действие?...

Добавлено через 20 минут
И кроме того свойства e.srcElement, e.target не работают в IE6...
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
26.11.2009, 16:36
Цитата Сообщение от Helen7 Посмотреть сообщение
Так вот почему то для этого элемента srcElement кроме srcElement.tagName ничего не работает...
тынць
Цитата Сообщение от Helen7 Посмотреть сообщение
ничего не понимаю...
Mozilla FireFox->Tools->Firebug
Цитата Сообщение от Helen7 Посмотреть сообщение
может другим способом узнать можно какой элемент совершил действие?...
В jquery - не копенгаген... А на чистом JS'е - как уже сказано выше...
Цитата Сообщение от Helen7 Посмотреть сообщение
И кроме того свойства e.srcElement, e.target не работают в IE6...
"Не верю" (c) Все прекрасно работает...
0
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110
26.11.2009, 16:53  [ТС]
Firebug я знаю что такое...и естественно им пользуюсь.
А не понимаю почему не работают js-функции для элемента полученного с помощью e.srcElement или e.target...
У самого этого элемента можно узнать и имя тега, и класс, и величину... но что ни делай не работает ни srcElement.parent().get(0).className ни srcElement.parent.className ни что либо другое...не могу получить родителского элемента.

Я работаю в Линукс и потому IE6 установлен с помощью CrossOver..может проблема в этом..
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
26.11.2009, 17:13
Цитата Сообщение от Helen7 Посмотреть сообщение
Firebug я знаю что такое...и естественно им пользуюсь.
/me думает: после
Цитата Сообщение от Helen7 Посмотреть сообщение
srcElement.parent().get(0).className
сомнение гложет...
Цитата Сообщение от Helen7 Посмотреть сообщение
Я работаю в Линукс ... IE6
отладьте хотя бы, для начала, все под мозилкой, а потом подправите для осла...
0
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110
26.11.2009, 17:18  [ТС]
Цитата Сообщение от Ex_Soft Посмотреть сообщение
Цитата:Сообщение от Helen7
srcElement.parent().get(0).className
сомнение гложет...
Вас сомнение гложет что это не работает или то что я пишу - неправильно?
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
26.11.2009, 17:40
Цитата Сообщение от Helen7 Посмотреть сообщение
Вас сомнение гложет
Сомнение гложет, что Вы, таки, действительно пользуетесь Firebug'ом... parentNode I'm so sorry: написал навскидку и с прямым углом попутал...
0
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110
26.11.2009, 18:21  [ТС]
А я действительно пользуюсь

А srcElement.parentNode.className тоже не работает..
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
26.11.2009, 18:34
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
    <head>
        <title>Test parentNode</title>
        <script type="text/javascript">
<!--
function DoIt(e)
{
    var
        Ctrl;
 
    e = e ? e:window.event;
    Ctrl = e.target ? e.target : e.srcElement;
    alert(Ctrl.parentNode.id);
}
// -->
        </script>
    </head>
    <body>
        <div id="SmthDir">
            <input type="text" id="InputText1" onkeyup="DoIt(event)">
        </div>
    </body>
<html>
1
4 / 4 / 1
Регистрация: 11.08.2009
Сообщений: 110
27.11.2009, 09:15  [ТС]
Добавив строку
JavaScript
1
e = e ? e:window.event;
все заработало. Спасибо)
0
 Аватар для Ex_Soft
213 / 107 / 15
Регистрация: 28.01.2009
Сообщений: 481
27.11.2009, 09:44
Цитата Сообщение от Helen7 Посмотреть сообщение
Добавив строку
JavaScript
1
e = e ? e:window.event;
все заработало
/me думает: и после этого Вы все равно будете утверждать
Цитата Сообщение от Helen7 Посмотреть сообщение
А я действительно пользуюсь
?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2009, 09:44
Помогаю со студенческими работами здесь

Какую работу совершил газ?
Углекислый газ массой 3,2*кг находится в термостате при температуре 17 °С. Объем газа изотермически уменьшают в 3 раза. Какую работу...

Какую работу совершил газ?
При передаче газ количества теплоты 300 Дж его внутренняя энергия уменьшилась на 200 Дж. Какую работу совершил газ?

Раньше совершил глупость, теперь думаю :)
Раньше совершил глупость, теперь думаю :) Прогонял сайт по каталогам с одним названием. Теперь думаю насколько это критично. Сколько...

Сколько совершил сотрудник операций по месяцам
Есть таблицы приходный ордер , расходный ордер и банковский работник CREATE TABLE `bank_work` ( `id_bank_work` int(11) NOT NULL...

Есть ли элемент который возвращает инфу на какой элемент иерархии
... Поинтор сейчас поинтит ??? Допустим есть Абстрактный папа я делаю в мейне поинтор этого папы заряжаю его на какого ниб...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru