Несколько простых примеров onclick на языке javascript. настраиваем свои собственные события

Как включить/отключить JavaScript в браузере Google Chrome?

Для того чтобы включить обработку JavaScript в браузере Google Chrome, сделайте следующее.

1. Перейдите в настройки. Для этого в адресную строку браузера введите:

и нажмите «Enter» на клавиатуре.

Альтернативный вызов страницы с настройками возможен через меню, которое открывается нажатием на три точки в правом верхнем углу.

2. Далее, в левой части экрана нажмите на иконку , и после того, как у вас появилось меню, выберите в нем пункт «Дополнительные», раздел «Конфиденциальность и безопасность»:

3. На открывшейся странице вы ищете «Настройки контента»:

и переходите к нему.

4. На новой странице вы ищете «JavaScript»:

и также переходите к нему.

5. На открывшейся странице включаете или отключаете (по желанию) обработку JavaScript:

Для этого переведите чекбокс в соответствующее состояние.

Помимо этого, на этой же странице вы можете добавить исключения в виде белого (разрешенных сайтов) и черного (запрещенных сайтов) списка сайтов.

9 ответов

Лучший ответ

В jQuery теперь есть функция, которая ограничивает любое событие (например, «отправить») в одном случае.

Примере:

Этот код позволит вам отправить форму один раз, а затем отключить кнопку. Измените селектор в функции find () на любую кнопку, которую вы хотите отключить.

Примечание. Согласно Франсиско Гольденштейну, я изменил селектор на форму и тип события для отправки. Это позволяет отправлять форму из любого места (кроме кнопки), при этом отключая кнопку отправки.

Примечание 2: . В gorelog, используя , вы не сможете отправить в форму значение кнопки отправки. Если вы хотите передать значение кнопки, используйте .

52

Preston Badeer
28 Фев 2015 в 21:10

Используйте современные события Js, с «один раз»!

Документация,

3

Gibolt
24 Сен 2017 в 21:20

Чтобы отправить форму в MVC NET Core, вы можете отправить ее с помощью ВХОДА :

Чтобы сделать это кнопкой, я использую Bootstrap, например:

Чтобы предотвратить отправку дубликатов форм в MVC NET Core, вы можете добавить событие onclick и использовать this.disabled = true; , чтобы отключить кнопку:

Если вы хотите сначала проверить правильность формы, а затем отключить кнопку, сначала добавьте this.form.submit (); , поэтому, если форма действительна, эта кнопка будет отключена, в противном случае кнопка все равно будет быть включен, чтобы вы могли исправить свою форму при проверке.

Вы можете добавить текст к отключенной кнопке, говоря, что вы сейчас находитесь в процессе отправки формы, когда вся проверка правильна, используя this.value = ‘text’; :

4

Robert Stepien
6 Июл 2018 в 15:14

JQuery не должен использоваться с событием click, но с событием , как описано ниже.

12

CaptainBli
9 Авг 2013 в 04:19

Думай просто

Если хочешь бежать один раз :)

danial y
28 Дек 2016 в 17:04

Если, когда вы установили disabled = «disabled» сразу после того, как пользователь нажмет кнопку, и форма из-за этого не отправится, вы можете попробовать две вещи:

Хотя, честно говоря, могу поспорить, что будет лучший способ сделать это, чем этот.

11

Warty
24 Фев 2010 в 05:51

Чтобы отключить кнопку отправки, вам просто нужно добавить отключенный атрибут к кнопке отправки.

Чтобы включить отключенную кнопку, установите для атрибута disabled значение false или удалите атрибут disabled.

Или

KIBOU Hassan
12 Апр 2017 в 11:37

Выберите кнопку и по ее идентификатору или тексту или классу … она просто отключается после первого нажатия и включается через 20 миллисекунд

Работает очень хорошо для постов обратно и помещает их на главную страницу, применяется ко всем кнопкам без явного вызова, как

4

blasteralfred Ψ
15 Авг 2012 в 05:19

1

ForceMagic
13 Ноя 2013 в 19:38

Показать блок по клику

Привет, друзья! Сегодня мы разберем, как показать секцию по клику по кнопке или ссылке в Elementor.

Покажем решение как стандартными средствами Elementor, так и нестандартными, путем использования JavaScript-библиотеки JQuery.

Показываем секцию при нажатии на кнопку, используя JQuery

Итак, для начала добавим в редактор Elementor две секции: одну секцию с кнопкой, по клику на которой будет раскрываться блок, вторую секцию с любым содержимым. Для наглядности закрасим фон второй секции красным цветом.

При помощи JQuery мы будем находить нужный элемент (в нашем случае кнопку) на странице и обрабатывать клик по этой кнопке, показывая или скрывая секцию ниже. Чтобы нужный блок появлялся по клику на определенную кнопку, добавим и кнопке и секции уникальные имена, id. Что такое ID и классы можете прочитать в нашей статье «СЕКЦИЯ. ВКЛАДКА РАСШИРЕННЫЕ.»

Кнопке назначим id = btn, секции id = hide, опять же, для примера, можете придумать свои имена, лишь бы было понятно вам.

Изначально, вторая секции должна быть скрыта, для нее в разделе «Расширенные => Пользовательские css» обязательно пропишите проведенные ниже код, иначе при загрузке страницы секция, которую нужно развернуть будет в открытом виде.

Затем в конец страницы в редакторе добавим html-виджет Elementor. В него мы будем вставлять наш js-скрипт. Пропишем в нем следующий код:

Прокомментируем этот код.

Первой строкой подключим JQuery к странице.

Далее, для id=btn (кнопка) по срабатыванию метода .click, для элемента с id=hide (отображаемая секция), сработает метод .slideToggle со значением (‘slow’).

Результат работы скрипта смотрите ниже:


Показать секцию по клику по кнопке или ссылке Elementor

Показываем секцию по клику на ссылке, используя JQuery

Итак, ссылка, по сути, это кнопка, только без оформления. JQuery без разницы, по клику на какой элемент срабатывает метод.

Создадим секцию с заголовком, который мы сделаем ссылкой, и секцию, которую будем скрывать по клику по заголовку-ссылке.

Как и в примере с кнопкой выше, присвоим ссылке и блоку, который она будет открывать, уникальные имена:

  • для ссылки id = open-section-link
  • для секции id = hide-section

Далее, чтобы при наведении на заголовок, курсор вел себя как при наведении на ссылку, присвоим ссылке пустой якорь, который никуда не ведет.

Разворачиваемой секции присвоим свойство selector { display: none; } , чтобы она при загрузке страницы была скрыта.

Добавим ниже немного исправленный код из примера с кнопкой:

Вот и все. Пример работы скрипта ниже:

Как включить/отключить JavaScript в браузере Microsoft Edge?

Microsoft Edge – эксклюзивный браузер от Microsoft для операционной системы Windows 10. В нем включение обработки JavaScript происходит следующим образом.

1. На клавиатуре нажмите одновременно комбинацию клавиш:

после чего у вас появится окно выполнения команд. В него вы вводите:

и жмете «OK» или клавишу «Enter» на клавиатуре.

2. Далее, в открывшемся окне, в левой его части, перейдите по такому пути: Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Microsoft Edge.

А в правой части этого же окна найдите «Позволяет запускать сценарии, например JavaScript» и щелкните по нему два раза левой кнопкой мыши.

3. В открывшемся окне выставите необходимое вам значение, после нажмите кнопку «Применить», а затем «OK».

Обратите внимание, что редактирование этой опции доступно не во всех редакциях Windows 10

Opera

С браузером Опера практически та же ситуация, что с Mozilla Firefox.

Единственным отличием является то, что автоматически функция не активирована ни в одной из версий.

Активация ЯваСкрипт в различных версиях происходит по-разному.

Версии от 10,5 до 14

В первую очередь нам потребуется открыть настройки браузера.

В левом верхнем углу нажимаем кнопку «Меню», в контекстном меню наводим курсор на пункт «Настройки» и жмем на подпункт «Общие настройки…».

Настройки в Opera версии от 10,5 до 14

После этого откроется новое окно с настройками браузера.

В нем необходимо выбрать вкладку «Дополнительно».

В левом меню вкладки нажимаем на пункт «Содержимое», после чего активируем функцию, поставив две галочки на пункты «Включить JavaScript» и «Включить Java».

Для деактивации эти галочки нужно снять.

Активация и деактивация javascript в Opera версии от 10,5 до 14

После того, как вы поставили или сняли галочки, сохраняем изменения нажатием кнопки «ОК».

Теперь перезапускаем браузер для того, чтобы изменения вошли в силу. Вам станут доступны все функции javascript.

Версии от 15 и выше

В данных версиях браузера Опера активация ЯваСкрипт намного проще.

Для того, чтобы открыть окно настроек, необходимо в открытом браузере нажать сочетание «горячих» клавиш Alt+P. В открывшемся меню открываем вкладку «Сайты».

Для активации функции требуется установить «флажок» на пункт «Разрешить выполнение JavaScript», для деактивации – «Запретить выполнение JavaScript».

Активация и деактивация javascript в Opera версии 15 и выше

После этого достаточно нажать кнопку «ОК» для сохранения изменений и обновить просматриваемую страницу клавишей F5 или нажатием соответствующего значка слева на адресной строке.

Перезапускать браузер не требуется.

Пример использования

<!DOCTYPE html>
<html>
	<head>
		<title>Использование jQuery метода .keydown() (без параметров и с функцией)</title>
		<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
		<script>
	$( document ).ready(function(){
	  $( "button" ).click(function(){ // задаем функцию при нажатиии на элемент button
	    $( "div" ).keydown(); // вызываем событие keydown на элементе <div>
	  });
	  $( "div" ).keydown(function(){ // задаем функцию при нажатиии любой клавиши клавиатуры на элементе
	    $( "div" ).css( "background", "green" ); // задаем цвет заднего фона элемента
	  });
	});
		</script>
	</head>
	<body>
		<button>Клик</button>
		<div>Элемент div</div>
	</body>
</html>

В этом примере с использованием jQuery метода .keydown() мы при нажатии на элемент <button> (кнопка) вызываем событие «keydown» на элементе <div>. Самому элементу <div> задаем, что при срабатывании события «keydown» на элементе выполнить функцию, которая с использованием метода .css() установит цвет заднего фона элемента зелёным.

Обратите внимание, что напрямую мы не можем вызвать у элемента событие «keydown» по той причине, что элемент не может получить фокус. Результат нашего примера:

Результат нашего примера:


Пример использования jQuery метода .keydown() (без параметров и с функцией)

Рассмотрим следующий пример в котором с помощью метода .keydown() будем выводить в консоль браузера код нажатой пользователем клавиши на клавиатуре:

<!DOCTYPE html>
<html>
	<head>
		<title>Использование jQuery метода .keydown() (вывод кода нажатой клавиши)</title>
		<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
		<script>
	$( document ).ready(function(){
	  $( "body" ).keydown(function( event ){ // задаем функцию при нажатиии любой клавиши клавиатуры на элементе
	    console.log( event.which ); // выводим код нажатой клавиши
	  });
	});
		</script>
	</head>
	<body>
	</body>
</html>

В этом примере с использованием jQuery метода .keydown() мы при нажатии на элементе

вызываем событие «keydown», в котором вызываем функию, которая в качестве параметра принимает объект Event и выводим в консоль значения свойства which этого объекта, которое содержит код нажатой клавиши клавиатуры. В нашем примере были нажаты и выведены в консоль коды клавиш на клавиатуре по очереди: basicwebОбратите внимание на то, что мы в этом примере получаем код клавиши (скан-код), а не символа. Даже если мы бы ввели basicweb в русской раскладке результат вывода в консоль был бы тот же

Чтобы вывести код символа вы можете воспользоваься методом .keypress().

Результат нашего примера:


Пример использования jQuery метода .keydown() (вывод кода нажатой клавиши)jQuery события

Как сделать активным/неактивным текстовое поле с помощью JavaScript

В этом примере есть HTML-форма , текстовые поля и пара кнопок, чтобы делать текстовое поле активным или неактивным. Здесь я использую простой JavaScript , без jQuery prop checked .

Шаги будут следующими:

  1. Используйте функции enable() и disable() с кнопками, чтобы включать или выключать текстовое поле.
  2. Используйте getElementById() , чтобы получить доступ к текстовому полю.
  3. Установите поле disabled в true или false .

Вот пример HTML-файла c решением на основе JavaScript :

При клике по кнопке « Деактивировать текстовое поле » вызывается функция disable() ( не путайте с jQuery prop disabled ), и свойство disabled текстового поля устанавливается в true. Поэтому вы не можете больше вводить текст в это поле, оно не активно. При этом можно заново активировать текстовое поле, кликнув по кнопке « Активировать текстовое поле ». Она вызовет функцию enable() , которая сбросит свойство disabled в false .

Обработка событий с помощью методов jQuery

Перед тем как переходить к добавлению элементам обработчиков событий, эти элементы сначала необходимо получить. Узнать о том, как найти нужные элементы на странице можно в статье jQuery — Выбор элементов.

В jQuery повесить событие (слушатель событий) на определённый элемент можно с помощью функций и , а также кратких записей .

// функция on
.on(events,handler);
// функция one
.one(events,handler);

// events - событие или список событий через пробел, при наступлении которых необходимо выполнить обработчик (handler)
// handler - функция (обработчик события)

// краткая запись функции on
.event(handler);

// event - название события (можно использовать для обработки только тех событий, для которых в jQuery создана такая краткая запись)

Функция отличается от только тем, что она выполняет обработчик при наступлении указанного события только один раз.

Например, добавим с помощью функции событие для всех элементов с классом :

// использование в качестве обработчика анонимной функции
$('.btn').on('click', function() {
  // действия, которые будут выполнены при наступлении события...
  console.log($(this).text());
});

// использование обычной функции в качестве обработчика
var myFunction = function() {
  console.log($(this).text());
}
$('.btn').on('click', myFunction);

Вышеприведённый код, записанный с использованием короткой записи функции :

$('.btn').click(function() {
  // действия, которые будут выполнены при наступлении события...
  console.log($(this).text());
});

Дополнительная информация о событии

При обработке события вы можете узнать некоторую дополнительную информацию о нём. Передача этой информации, а именно объекта в обработчик события осуществляется всегда посредством первого аргумента.

$('#demo').on('click', function(e){
  // e – объект Event, содержащий дополнительную информацию о произошедшем событии
  // часто используемые свойства объекта Event
  e.preventDefault(); //отменить выполнение действия по умолчанию
  e.stopPropagation(); //остановить дальнейшее всплытие события
  // e.type – получить тип события
  // e.target – ссылка на элемент, на котором произошло событие
  // e.currentTarget - ссылка на текущий элемент (для которого сработал обработчик). Это свойство, как правило, равно функции this.
  // e.currentTarget === this
  // e.which – код клавиши (для мыши), код кнопки или символа (для клавиатуры)
  //e.pageX, e.pageY – координаты курсора, относительно левого верхнего угла документа
});

Пространство имён

В jQuery после указания имени события вы можете ещё дополнительно указать пространство имён.

Например:

// событие click в пространстве имён first
$('#demo').on('click.first',function(){
  console.log('1 обработчик события click');
});
// событие click в пространстве имён second
$('#demo').on('click.second',function(){
  console.log('2 обработчик события click');
});

Пространство имён — это очень удобная вещь. Она используется, например, когда вам необходимо вызвать не все события, а только с определённым именем.

// вызвать событие click в пространстве имён first
$('#demo').trigger('click.first');

// вызвать событие click в пространстве имён second
$('#demo').trigger('click.second');

Также с его помощью очень просто удалять определённые события:

//удалить обработчики события click в пространстве имён first
$('#demo').off('click.first');

//удалить обработчики события click в пространстве имён second
$('#demo').off('click.second');

Описание и примеры использования функций и рассматриваются в статье немного ниже.

Передача дополнительных данных в обработчик

При необходимости вы можете передать данные в обработчик события (посредством указания дополнительного аргумента в функции ). Доступ к переданным данным внутри обработчика осуществляется через объект .

Осуществляется это так (пример):

<div id="content"></div>
<button id="showContent1">Показать контент 1</button>
<button id="showContent2">Показать контент 2</button>
...

<script>
$('#showContent1').on('click', {title:'Заголовок 1', content: 'Содержимое 1...'}, function(e){
  var output = '<b>'+e.data.title+': </b>' + e.data.content;
  $('#content').html(output);
});
$('#showContent2').on('click', {title:'Заголовок 2', content: 'Содержимое 2...'}, function(e){
  var output = '<b>'+e.data.title+': </b>' + e.data.content;
  $('#content').html(output);
});
</script>

Яндекс.Браузер

Чтобы включить ЯваСкрипт в Яндекс.Браузере, необходимо перейти в настройки.

Для этого в правом верхнем углу открываем контекстное меню нажатием ЛКМ на значок «три горизонтальных полоски», после чего выбираем пункт «Настройки».

Настройки Яндекс.Браузера

Далее, при помощи скроллера (колесика мыши) спускаемся в самый низ страницы и находим пункт «Показать дополнительные настройки» и открываем его.

Дополнительные настройки Яндекс.Браузера

После этого необходимо найти блок «Личные данные», в котором нажимаем кнопку «Настройки содержимого».

Как включить javascript в Яндекс.Браузере

В разделе «Javascript» ставим галочку на пункт «Разрешить Javascript на всех сайтах» и сохраняем изменения нажатием кнопки «Готово».

После этого ЯваСкрипт сразу активируется и позволит просматривать ранее недоступные веб-страницы и производить манипуляции на интерактивных сервисах.

Активация javascript в Яндекс.Браузере

После активации функции перезагружать сам браузер не требует, нужно только обновить страницу нажатием клавиши F5 или на соответствующий значок слева на адресной строке.

В последней версии браузера активация ЯваСкрипт установлена автоматически, поэтому пункт включения функции в настройках отсутствует.

Возможности JavaScript

Данный язык программирования имеется неограниченное количество возможностей за счет своей универсальности.

Основными аспектами применения являются мобильные приложения для смартфонов, интерактивные веб-страницы сайтов и сервисов.

Бо́льшую часть новшеств привнесло присоединение к проекту компании AJAX, которая предоставила возможности, используемые в языке на сегодняшний день.

Для экономии трафика и увеличения удобства использования, ЯваСкрипт предоставляет возможность изменять страницы сайтов и сервисов небольшими частями незаметно для пользователя в режиме онлайн.

Это не требует отключения сайта на время редактирования или добавления новой информации.

Изменения происходят сразу, не требуя обновления или перезагрузки страницы.

Функция ЯваСкрипт может быть отключена по разным причинам.

Возможно, предыдущий пользователь намеренно мог его отключить, так как он не требовался для просмотра веб-страниц. Также отключение могло произойти самостоятельно.

Отключение javascript может послужить причиной отказа в открытии некоторых ссылок. Чуть ниже мы рассмотрим способы включения данной функции в популярных браузерах.

Больше руководств по браузеру:

  • Некоторые полезные приемы, доступные в HTML5
  • Как я заставил веб-сайт на CMS работать в автономном режиме
  • Полное руководство по прогрессивным веб-приложениям
  • API-интерфейс Fetch
  • Руководство по Push API
  • API обмена сообщениями канала
  • Учебник для сервис-воркеров
  • Руководство по Cache API
  • Руководство по API уведомлений
  • Погрузитесь в IndexedDB
  • API селекторов: querySelector и querySelectorAll
  • Эффективно загружайте JavaScript с помощью defer и async
  • Объектная модель документа (DOM)
  • API веб-хранилища: локальное хранилище и хранилище сеансов
  • Узнайте, как работают HTTP-файлы cookie
  • API истории
  • Формат изображения WebP
  • XMLHttpRequest (XHR)
  • Подробное руководство по SVG
  • Что такое URL-адреса данных
  • Дорожная карта для изучения веб-платформы
  • CORS, совместное использование ресурсов между источниками
  • Веб-воркеры
  • Руководство по requestAnimationFrame ()
  • Что такое Doctype
  • Работа с консолью DevTools и консольным API
  • API синтеза речи
  • Как дождаться события готовности DOM в простом JavaScript
  • Как добавить класс к элементу DOM
  • Как перебрать элементы DOM из querySelectorAll
  • Как удалить класс из элемента DOM
  • Как проверить, есть ли у элемента DOM класс
  • Как изменить значение узла DOM
  • Как добавить событие щелчка в список элементов DOM, возвращаемых из querySelectorAll
  • WebRTC, веб-API реального времени
  • Как получить позицию прокрутки элемента в JavaScript
  • Как заменить элемент DOM
  • Как принимать только изображения в поле входного файла
  • Зачем использовать предварительную версию браузера?
  • Объект Blob
  • Файловый объект
  • Объект FileReader
  • Объект FileList
  • ArrayBuffer
  • ArrayBufferView
  • Объект URL
  • Типизированные массивы
  • Объект DataView
  • API BroadcastChannel
  • API Streams
  • Объект FormData
  • Объект навигатора
  • Как использовать API геолокации
  • Как использовать getUserMedia ()
  • Как использовать API перетаскивания
  • Как работать с прокруткой на веб-страницах
  • Обработка форм в JavaScript
  • События клавиатуры
  • События мыши
  • Сенсорные события
  • Как удалить всех дочерних элементов из элемента DOM
  • Как создать атрибут HTML с помощью ванильного Javascript
  • Как проверить, установлен ли флажок, используя JavaScript?
  • Как скопировать в буфер обмена с помощью JavaScript
  • Как отключить кнопку с помощью JavaScript
  • Как сделать страницу редактируемой в браузере
  • Как получить значения строки запроса в JavaScript с помощью URLSearchParams
  • Как сразу удалить весь CSS со страницы
  • Как использовать insertAdjacentHTML
  • Safari, предупредить перед выходом
  • Как добавить изображение в DOM с помощью JavaScript
  • Как сбросить форму
  • Как использовать Google Fonts

Отключить и включить JavaScript в настройках Chrome

Самый простой способ получить доступ к меню параметров JavaScript в Google Chrome — ввести этот URL в адресную строку Chrome:

Если вы хотите сделать это по старинке, вам нужно выбрать значок с тремя вертикальными точками в верхнем правом углу окна браузера.

В нижней части раскрывающегося меню выберите «Настройки».

Найдите раздел «Конфиденциальность и безопасность» и выберите «Настройки сайта».

Наконец, нажмите «JavaScript» в группе «Разрешения».

По умолчанию JavaScript включен. Чтобы отключить JavaScript, переместите ползунок влево (щелкнув по нему) рядом с параметром «Разрешено». Снова включите JavaScript, переместив ползунок назад вправо.

Разрешить или заблокировать JavaScript на определенных сайтах

Как упоминалось ранее, вы также можете включить или отключить JavaScript для определенных сайтов. Для этого вернитесь в меню настроек JavaScript в Chrome, перейдя по следующему URL:

Оказавшись там, вы увидите разделы «Блокировать» и «Разрешить». Выберите «Добавить» рядом с блоком (1) или разрешить (2), в зависимости от того, хотите ли вы отключить или включить JavaScript на сайте, соответственно.

Откроется окно «Добавить сайт». Введите URL сайта, затем нажмите кнопку «Добавить».

Теперь сайт появится в списке «Блокировать» или «Разрешить», что означает, что при следующем посещении этого сайта JavaScript будет отключен или включен соответственно.

Как включить/отключить JavaScript в браузере Opera?

В этом браузере включение обработки JavaScript немного проще, чем в Mozilla Firefox.

1. Перейдите в настройки браузера. Для этого на клавиатуре нажмите комбинацию клавиш:

P – английская. Альтернативный вызов страницы с настройками возможен через меню, которое открывается нажатием на логотип в левом верхнем углу или же через строку поиска, где вы вводите:

и жмете «Enter» на клавиатуре.

2. На открывшейся странице в левой части экрана вы жмете на пункт «Дополнительно» и в раскрывшемся меню выбираете «Безопасность»:

3. Далее, в открывшемся разделе настроек, вы ищете «Настройки контента»:

и переходите к нему.

4. В этом разделе вы ищете «JavaScript»:

и также переходите к нему.

5. На открывшейся странице вы включаете обработку JavaScript (чекбокс должен окраситься синим цветом) или отключаете (по желанию) (чекбокс должен окраситься серым цветом):

Помимо этого, на той же странице вы можете добавить исключения в виде белого (разрешенных сайтов) и черного (запрещенных сайтов) списка сайтов.

Как включить/выключить текстовое поле с помощью jQuery?

Ниже приведен код, основанный на jQuery , который делает то же самое. В этом примере мы использовали функцию prop() . Если вы пользуетесь версией jQuery 1.5 или старше, замените prop() на attr() .

Так же, как и в предыдущем примере, у нас есть две кнопки btn_enable и btn_disable , чтобы включать и выключать текстовое поле. Подключим, обработчик событий, используя функцию click() , которая вызывается при загрузке страницы.

В обработчике события мы находим текстовое поле с помощью селектора ID в jQuery , например, $(«#name») и затем вызываем prop(«disabled», false») , чтобы отключить это текстовое поле. Когда пользователь нажимает кнопку « включить », мы устанавливаем свойство disabled в true , вызывая jQuery prop(«disabled» , true ). Это заново активирует текстовое поле. Помните, что нельзя ввести текст в отключенное поле.

Можете протестировать это, запустив пример у себя в браузере. Только не вызывайте функцию removeProp() , чтобы заново включить кнопку. Она удалит атрибут « disabled » из текстового поля, поэтому нельзя будет снова его отключить в будущем. Вместо этого используйте метод jQuery prop disabled .

Вот скриншот того, как будет выглядеть страница в браузере вроде Edge или Chrome .

В этом примере мы отключили текстовое поле и заново включили его. Для этого можно использовать JavaScript или jQuery .

Данная публикация представляет собой перевод статьи « How to enable/disable an element using jQuery and JavaScript? Example » , подготовленной дружной командой проекта Интернет-технологии.ру

Помимо CSS свойств, так же можно изменить другие свойства HTML элементов с помощью jQuery. Например, можно сделать кнопку неактивной (заблокировать).

Когда кнопку делают неактивной, она становится серой и ее невозможно нажать.

В jQuery есть функция .prop() , которая позволяет устанавливать значения атрибутам элементов.

Например, вот так можно сделать неактивными все кнопки:

Сделайте неактивной только кнопку с id target1 .

Есть таблица. Есть кнопка add, которая по нажатию добавляет новую строку к таблице. Хочу сделать так, чтобы кнопка была активна только 1 раз. Или может ее можно как-то скрыть?

Подскажите, как это можно реализовать?

addEventListener

Фундаментальный недостаток описанных выше способов назначения обработчика – невозможность повесить несколько обработчиков на одно событие.

Например, одна часть кода хочет при клике на кнопку делать её подсвеченной, а другая – выдавать сообщение.

Мы хотим назначить два обработчика для этого. Но новое DOM-свойство перезапишет предыдущее:

Разработчики стандартов достаточно давно это поняли и предложили альтернативный способ назначения обработчиков при помощи специальных методов и . Они свободны от указанного недостатка.

Синтаксис добавления обработчика:

Имя события, например .
Ссылка на функцию-обработчик.
Дополнительный объект со свойствами:
  • : если , тогда обработчик будет автоматически удалён после выполнения.
  • : фаза, на которой должен сработать обработчик, подробнее об этом будет рассказано в главе Всплытие и погружение. Так исторически сложилось, что может быть , это то же самое, что .
  • : если , то указывает, что обработчик никогда не вызовет , подробнее об этом будет рассказано в главе Действия браузера по умолчанию.

Для удаления обработчика следует использовать :

Удаление требует именно ту же функцию

Для удаления нужно передать именно ту функцию-обработчик которая была назначена.

Вот так не сработает:

Обработчик не будет удалён, т.к

в передана не та же функция, а другая, с одинаковым кодом, но это не важно

Вот так правильно:

Обратим внимание – если функцию обработчик не сохранить где-либо, мы не сможем её удалить. Нет метода, который позволяет получить из элемента обработчики событий, назначенные через

Метод позволяет добавлять несколько обработчиков на одно событие одного элемента, например:

Как видно из примера выше, можно одновременно назначать обработчики и через DOM-свойство и через . Однако, во избежание путаницы, рекомендуется выбрать один способ.

Обработчики некоторых событий можно назначать только через

Существуют события, которые нельзя назначить через DOM-свойство, но можно через .

Например, таково событие , которое срабатывает, когда завершена загрузка и построение DOM документа.

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

Выбираем элементы в DOM-дереве с помощью parent(), next() и prev()

Если вы хотите пройтись по DOM-дереву для выборки родственных или родительских элементов, относительно какого-либо элемента, то вы можете это сделать с помощью методов , и . Которые вам нужно применить на интересующем вас элементе:

// jQuery// Отдаст следующий, предыдущий и родительский элемент для .box$(".box").next();$(".box").prev();$(".box").parent();// Без jQuery// Отдаст следующий, предыдущий и родительский элемент для .boxvar box = document.querySelector(".box");box.nextElementSibling;box.previousElementSibling;box.parentElement;

Работа с событиями

В jQuery есть огромное множество способов для того, чтобы слушать события, вместо , , или , вы могли бы сделать всё тоже самое с помощью их эквивалента :

// С jQuery$(".button").click(function(e) { /* handle click event */ });$(".button").mouseenter(function(e) {  /* handle click event */ });$(document).keyup(function(e) {  /* handle key up event */  });// Без jQuerydocument.querySelector(".button").addEventListener("click", (e) => { /* ... */ });document.querySelector(".button").addEventListener("mouseenter", (e) => { /* ... */ });document.addEventListener("keyup", (e) => { /* ... */ });
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: