С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532

Отследить срабатывание события над элементом с заданным id

26.07.2014, 00:52. Показов 3097. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть форма
HTML5
1
2
3
<form id="formfiles" method="post" enctype="multipart/form-data">
    <input id="file" type="file">
</form>
И Js
JavaScript
1
2
3
MyJs('file').doJS(p1,p2){
//body js
}
Когда происходит событие(например) onchange над элементом с id file(теоретически любой, его указываем в скобках) нужно выполнить js код написанный на месте body js. Подскажите как это реализовать.
Спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.07.2014, 00:52
Ответы с готовыми решениями:

Срабатывание события
Такой вопрос. В задаче сказано: в классе машина должно быть событие, которое срабатывает в тот момент, когда скорость равна 100 и более. ...

При переносе кнопки над элементами, можно ли узнать над каким элементом переносишь?
А точнее, у меня на страничке куча кнопок, одну я беру и переношу в произвольное место, при этом мне нужно знать над каким элементам я...

Timer Срабатывание события Tick
Подскажите пожалуйста, каждое следующее событие Tick будет срабатывать с учетом времени работы предыдущего тика или же ровно по времени...

22
39 / 39 / 43
Регистрация: 14.07.2014
Сообщений: 230
26.07.2014, 09:46
JavaScript
1
2
3
4
5
6
7
8
9
$('formfiles input[type=file]').bind('change',function()
 {
 var id=$(this).attr("id");
 switch(id){
   case "blabla1": blabla1();
   case "blabla2": blabla2();
  }
 }
);
А функции пишешь в боди или куда хотел.
0
 Аватар для mazahist
35 / 35 / 26
Регистрация: 27.05.2012
Сообщений: 204
26.07.2014, 11:20
JavaScript
1
2
3
4
5
document.getElementById("file").onchange=function(eve)
{
   //какой либо код
   
}
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
26.07.2014, 23:57  [ТС]

Az Rieil, mazahist, Я только не понял, как это все связать с моим переведенным кодом? Где тут MyJs и doJS ???
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
27.07.2014, 07:03
Событие onchange вешается на
HTML5
1
<input id="file" type="file">
когда это событие происходит запускается код, который дал mazahist, тут и делай то что надо.
Цитата Сообщение от SanychBY Посмотреть сообщение
нужно выполнить js код написанный на месте body js
это не получилось дешифрировать
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
28.07.2014, 00:50  [ТС]
newJS, Пардон, но и Вы туда же.
Мне важна конструкция
JavaScript
1
2
3
MyJs('file').doJS(p1,p2){
//body js - тело функции
}
Я просто прописываю это, и этот код должен говорить - "когда сработает событие change над элементом с id file выполнить код прописанный на месте //body js - тело функции"
Это как в jq
JavaScript
1
jQuery('#file').click(alert('Alert');)
Мне нужно что-то похожее, только jQuery - MyJs, click - doJS.

Добавлено через 2 часа 13 минут
Каюсь. Бред написал.
JavaScript
1
MyJs('file').doJS(p1,p2);
Так должно быть

Добавлено через 11 минут
JavaScript
1
2
3
4
5
document.getElementById("file").onchange = function(eve)
            {
                //какой либо код
                
            }
TypeError: document.getElementById(...) is null

Добавлено через 1 минуту
В общем суть такая, как мы в jq ловим клик, словить ченьдж
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
28.07.2014, 08:38
SanychBY, странная у тебя просьба. Почему DoJS именно на клик должно работать? Вот тебе вариант, где надо указывать функцию обработчика в параметре функции, а не в самой функции, вообще реализация почти как в JQ ( правда тут не так кроссбраузерно )

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
var MyJs = function (selector) {
    return {
        el : document.querySelectorAll(selector)[0],
        click : function(func) {
            this.el.addEventListener("click",func);
            return this; // всегда возвращаем this ( наш объект, что бы была возможность цепочек вызовов) 
        }
    }
};
var t = MyJs(".clickable").click(function() {
    alert("It's work!");
});
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
29.07.2014, 01:27  [ТС]
Thisman, прокомментируйте код пожалуйста.
Цитата Сообщение от Thisman Посмотреть сообщение
Почему DoJS именно на клик должно работать?
Мне так нужно. Например в jq нет ничего странного что $.ajax работает только на ajax.

Добавлено через 59 секунд
Цитата Сообщение от Thisman Посмотреть сообщение
Почему DoJS именно на клик должно работать?
Клик я привел как пример в jq, мне change изначально нужно)

Добавлено через 1 минуту
Да расшифруйте мне эту строку просто
JavaScript
1
MyJs('file').doJS(p1,p2);
для начала
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
29.07.2014, 05:08
SanychBY,

Цитата Сообщение от SanychBY Посмотреть сообщение
Да расшифруйте мне эту строку просто
JavaScript
1
MyJs('file').doJS(p1,p2);
в смысле расшифровать? Я же не могу знать, что делает DoJS. В данном коде нет ни какого намека, на то, что он выполняется при изменении чего-либо, и вообще реагирует на события.
DoJs является методом объекта который возвращает функция MyJS, это все что можно сказать из этого кода
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
29.07.2014, 14:37  [ТС]
Цитата Сообщение от Thisman Посмотреть сообщение
Я же не могу знать, что делает DoJS
Да пусть хоть выводит алерт, это пока не важно.

Добавлено через 1 минуту
Цитата Сообщение от Thisman Посмотреть сообщение
в смысле расшифровать?
Я привел своего рода функцию, а меня интересует сам ее сценарий, конструкция.
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
29.07.2014, 16:47
SanychBY, ты видимо не понимаешь о чем говоришь, или не понятно объясняешь. Конструкцию чего? Как работает функция? Это нужно смотреть в ее код, что она делает? Опять смотреть в ее код, как она реализована ? Снова в ее код заглядывать надо, сценарий чего? Что ты под этим подразумеваешь.
Я тебе сказал, что в твоем примере, функция MyJS возвращает объект, которые имеет метод DoJS, все , больше из кода, что ты показал, сказать нечего.
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
29.07.2014, 17:01  [ТС]
Передать функцию в функцию и другие параметры. Расшифровать конструкцию
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
31.07.2014, 15:58  [ТС]
И никто не может по примеру ответить мне?
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
31.07.2014, 21:38
JavaScript
1
2
3
MyJs('file').doJS(p1,p2){
//body js
}
Здесь что-то не то. Возможно имелось ввиду:
JavaScript
1
2
3
 MyJs('file').doJS(p1,p2,{
//body js
});
?
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
31.07.2014, 22:20  [ТС]
Вы правы, прочитайте сообщения ранее.
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
31.07.2014, 22:26
SanychBY почитал, но столько вопросов))) Вроде сверху ответили уже или еще что-то не понятно?
0
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
31.07.2014, 22:28  [ТС]
JavaScript
1
MyJs('file').doJS(p1,p2);
Расшифруйте мне это, потом вернемся к событиям, чтобы я мог в dojs использовать 'file'
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
31.07.2014, 22:34
Такую конструкцию можно расшифровать например так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function MyJs(name) { // обычная функция
        return {  // возвращает объект с методом doJS
          doJS: function(val1, val2) {
             console.log(val1 + ' ' + val2);
          }
        }
     }
 
   // переменные передаются в функцию поэтому должны быть определены
      var p1 = 'val1',
         p2 = 'val2';
 
    MyJs('file').doJS(p1,p2); // тут вызываем MyJs - возвратили объект и сразу же у этого объекта вызываем метод doJS
1
 Аватар для SanychBY
39 / 46 / 3
Регистрация: 04.06.2013
Сообщений: 1,532
31.07.2014, 22:39  [ТС]

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
function MyJs(name) { /
        return {  
          doJS: function(val1, val2) {
             //определить, что произошло событие change и вывести алерт
          }
        }
     }
 
      var p1 = 'val1',
         p2 = 'val2';
 
    MyJs('file').doJS(p1,p2);
0
 Аватар для vovandr
636 / 523 / 195
Регистрация: 19.08.2013
Сообщений: 1,400
31.07.2014, 22:43
Скрипт ставим после html кода (ниже)
HTML5
1
2
3
<form id="formfiles" method="post" enctype="multipart/form-data">
    <input id="file" type="file">
</form>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function MyJs(name) {
        return {
          doJS: function(val1, val2) {
            document.getElementById(name).onchange = function() {
                alert('сработал onchange');
            };
          }
        }
     }
 
     var p1 = 'val1',
         p2 = 'val2';
 
    MyJs('file').doJS(p1,p2);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.07.2014, 22:43
Помогаю со студенческими работами здесь

Запустить срабатывание события в textBox1_TextChanged
Здравствуйте. Подскажите, пожалуйста, как запустить срабатывание события в textBox1_TextChanged. Пробую как то так:...

Срабатывание события по изменению переменной
Есть глобальная переменная изменяется в потоке. Нужно поставить заглушку в другой функции на изменение переменной! // так я...

Срабатывание события в определенное время (будильник)
Вот в чем дело) Я сделал календарь с заметками, но не могу настроить будильник, естественно тогда когда должен прозвинеть, время...

Срабатывание на события мыши и тач скрина
Привет всем, скажите пожалуйста. К примеру, у меня есть две кнопки. Одна реагирует на события мыши, а вторая на события тач девайсов....

Срабатывание события при определенных условиях
Нужно написать программу в которой реализируется логика движения автомобиля. В 20 часов ( if (j == 20) MaxSpeed();) нужно чтобы сработало...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
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/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru