on() | привязывает обработчик события к объекту или объектам удалить этот обработчик события можно функции off() |
off() | удаляет обработчик события с объекта или объектов, присвоенный с помощью функции on() |
one() | привязывает одноразовый обработчик события объекту или объектам удалить этот обработчик события можно функции unbind() |
live() устаревший | привязывает обработчик события к объекту или объектам, является устаревшим удалить этот обработчик события можно функции die() |
die() устаревший | удаляет обработчик события с объекта или объектов, присвоенный с помощью функции live(), является устаревшим |
bind() устаревший | привязывает обработчик события к объекту или объектам, является устаревшим удалить этот обработчик события можно функции unbind() |
unbind() устаревший | удаляет обработчик события с объекта или объектов, присвоенный с помощью функции bind(), one(), является устаревшим |
delegate() устаревший | привязывает обработчик события к объекту или объектам, является устаревшим удалить этот обработчик события можно функции undelegate() |
undelegate() устаревший | удаляет обработчик события с объекта или объектов, присвоенный с помощью функции delegate(), является устаревшим |
on()
Функция привязывает обработчик события к объекту или объектам.
Удалить этот обработчик события можно функции off().
Удалить этот обработчик события можно функции off().
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>New Страница</title> <!-- подключаем библиотеку онлайн через Google CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <style> * { margin: 0; padding: 0; } .a, .b, .c, .d { height: 30px; margin: 5px; text-align: center; line-height: 30px; float: left; } .a { width: 100px; background-color: #A3E61D; color: #FFF; border-radius: 3px; cursor: pointer; } .c { width: 100px; background-color: #3BA9DE; color: #FFF; border-radius: 3px; cursor: pointer; } .d { width: 100px; background-color: #852E76; color: #FFF; border-radius: 3px; cursor: pointer; } .b { width: 300px; background-color: #FFECDD; } </style> </head> <body> <div id="box1"> <div class="a">SHOW</div> </div> <br /> <br /> <br /> <div id="box2"> <div class="c">SHOW</div> <br /> <br /> <div class="c">SHOW</div> <br /> <br /> <div class="c">SHOW</div> </div> <br /> <br /> <br /> <div id="box3"> <div class="d">SHOW</div> </div> <script> $(document).ready(function () { /*---НЕПОСРЕДСТВЕННАЯ ОБРАБОТКА СОБЫТИЯ---*/ var counter = 0; //создаем элемент-параграф var element1 = $('<p />', { 'class': 'b', 'text': 'Hello World!' }); /*привязываем обработчик события к одному объекту*/ $('.a').on('click', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(element1).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box1>p.b').remove(); } }); /*---ДЕЛЕГИРОВАННАЯ ОБРАБОТКА СОБЫТИЯ---*/ counter = 0; //создаем элемент-параграф var element2 = $('<p />', { 'class': 'b', 'text': 'To be or not to be?' }); /*привязываем обработчик события к одному объекту-контейнеру, это #box1*/ /*объект-контейнер будет ловить события, которые происходят с элементом div*/ $('#box2').on('click', 'div', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(element2).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box2>p.b').remove(); } }); /*---ПЕРЕДАЧА ДАННЫХ ОБРАБОТЧИКУ СОБЫТИЙ В ФОРМАТЕ JSON ОБЪЕКТА---*/ counter = 0; //создаем элемент-параграф var element3 = $('<p />', { 'class': 'b' }); //создаем JSON объект var jsonObject = { str: 'Привет Мир!' }; $('.d').on('click', jsonObject, function (event) { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //в функцию text() передаем данные JSON объекта //изменяем текст div-кнопки $(this).after(element3.text(event.data.str)).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box3>p.b').remove(); } }); }); </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>New Страница</title> <!-- подключаем библиотеку онлайн через Google CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <style> * { margin: 0; padding: 0; } .a, .b, .c, .d { height: 30px; margin: 5px; text-align: center; line-height: 30px; float: left; } .a { width: 100px; background-color: #A3E61D; color: #FFF; border-radius: 3px; cursor: pointer; } .c { width: 100px; background-color: #3BA9DE; color: #FFF; border-radius: 3px; cursor: pointer; } .d { width: 100px; background-color: #852E76; color: #FFF; border-radius: 3px; cursor: pointer; } .b { width: 300px; background-color: #FFECDD; } </style> </head> <body> <div id="box1"> <div class="a">SHOW</div> </div> <br /> <br /> <br /> <div id="box2"> <div class="c">SHOW</div> <br /> <br /> <div class="c">SHOW</div> <br /> <br /> <div class="c">SHOW</div> </div> <br /> <br /> <br /> <div id="box3"> <div class="d">SHOW</div> </div> <script> $(document).ready(function () { /*---НЕПОСРЕДСТВЕННАЯ ОБРАБОТКА СОБЫТИЯ---*/ var counter = 0; //создаем элемент-параграф var element1 = $('<p />', { 'class': 'b', 'text': 'Hello World!' }); /*привязываем обработчик события к одному объекту*/ $('.a').on('click', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(element1).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box1>p.b').remove(); } }); /*---ДЕЛЕГИРОВАННАЯ ОБРАБОТКА СОБЫТИЯ---*/ counter = 0; //создаем элемент-параграф var element2 = $('<p />', { 'class': 'b', 'text': 'To be or not to be?' }); /*привязываем обработчик события к одному объекту-контейнеру, это #box1*/ /*объект-контейнер будет ловить события, которые происходят с элементом div*/ $('#box2').on('click', 'div', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(element2).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box2>p.b').remove(); } }); /*---ПЕРЕДАЧА ДАННЫХ ОБРАБОТЧИКУ СОБЫТИЙ В ФОРМАТЕ JSON ОБЪЕКТА---*/ counter = 0; //создаем элемент-параграф var element3 = $('<p />', { 'class': 'b' }); //создаем JSON объект var jsonObject = { str: 'Привет Мир!' }; $('.d').on('click', jsonObject, function (event) { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //в функцию text() передаем данные JSON объекта //изменяем текст div-кнопки $(this).after(element3.text(event.data.str)).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box3>p.b').remove(); } }); }); </script> </body> </html>
off()
Функция удаляет обработчик события с объекта или объектов, присвоенный с помощью функции on().
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>New Страница</title> <!-- подключаем библиотеку онлайн через Google CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <style> * { margin: 0; padding: 0; } .a, .b { height: 30px; margin: 5px; text-align: center; line-height: 30px; float: left; } .a { width: 100px; background-color: #3BA9DE; color: #FFF; border-radius: 3px; cursor: pointer; } .b { width: 300px; background-color: #FFECDD; } button { margin: 5px; cursor: pointer; } </style> </head> <body> <div id="box1"> <div class="a">SHOW</div> </div> <br /> <br /> <button>DELETE</button> <script> $(document).ready(function () { var counter = 0; //создаем элемент-параграф var a = $('<p />', { 'class': 'b', 'text': 'Hello World!' }); /*привязываем обработчик события к одному объекту*/ $('.a').on('click', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(a).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box1>p.b').remove(); } }); /*удаляем on()*/ $('button').click(function () { $('.a').off(); }); }); </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>New Страница</title> <!-- подключаем библиотеку онлайн через Google CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <style> * { margin: 0; padding: 0; } .a, .b { height: 30px; margin: 5px; text-align: center; line-height: 30px; float: left; } .a { width: 100px; background-color: #3BA9DE; color: #FFF; border-radius: 3px; cursor: pointer; } .b { width: 300px; background-color: #FFECDD; } button { margin: 5px; cursor: pointer; } </style> </head> <body> <div id="box1"> <div class="a">SHOW</div> </div> <br /> <br /> <button>DELETE</button> <script> $(document).ready(function () { var counter = 0; //создаем элемент-параграф var a = $('<p />', { 'class': 'b', 'text': 'Hello World!' }); /*привязываем обработчик события к одному объекту*/ $('.a').on('click', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(a).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box1>p.b').remove(); } }); /*удаляем on()*/ $('button').click(function () { $('.a').off(); }); }); </script> </body> </html>
one()
Функция привязывает одноразовый обработчик события к объекту или объектам.
Удалить этот обработчик события можно функции unbind(), но она устаревшая.
Удалить этот обработчик события можно функции unbind(), но она устаревшая.
index.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>New Страница</title> <!-- подключаем библиотеку онлайн через Google CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <style> * { margin: 0; padding: 0; } .a, .b { height: 30px; margin: 5px; text-align: center; line-height: 30px; float: left; } .a { width: 100px; background-color: #3BA9DE; color: #FFF; border-radius: 3px; cursor: pointer; } .b { width: 300px; background-color: #FFECDD; } </style> </head> <body> <div id="box1"> <div class="a">SHOW</div> </div> <script> $(document).ready(function () { var counter = 0; //создаем элемент-параграф var a = $('<p />', { 'class': 'b', 'text': 'Hello World!' }); /*привязываем ОДНОРАЗОВО обработчик события к одному объекту*/ $('.a').one('click', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(a).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box1>p.b').remove(); } }); }); </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>New Страница</title> <!-- подключаем библиотеку онлайн через Google CDN --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <style> * { margin: 0; padding: 0; } .a, .b { height: 30px; margin: 5px; text-align: center; line-height: 30px; float: left; } .a { width: 100px; background-color: #3BA9DE; color: #FFF; border-radius: 3px; cursor: pointer; } .b { width: 300px; background-color: #FFECDD; } </style> </head> <body> <div id="box1"> <div class="a">SHOW</div> </div> <script> $(document).ready(function () { var counter = 0; //создаем элемент-параграф var a = $('<p />', { 'class': 'b', 'text': 'Hello World!' }); /*привязываем ОДНОРАЗОВО обработчик события к одному объекту*/ $('.a').one('click', function () { counter++; if(counter % 2 != 0) { //добавляем элемент-параграф после div-кнопки //изменяем текст div-кнопки $(this).after(a).text('HIDE'); } else { //изменяем текст div-кнопки $(this).text('SHOW'); //удаляем элемент-параграф $('#box1>p.b').remove(); } }); }); </script> </body> </html>