Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.09.2014, 17:14
Аватар для Кирюха =)
Профессор
Отправить личное сообщение для Кирюха =) Посмотреть профиль Найти все сообщения от Кирюха =)
 
Регистрация: 27.07.2011
Сообщений: 207

Динамическое создание обработчиков
Доброго времени суток. С тех пор как убради .live() начались головняки... Его типа заменили на .on() . Как вешать обработчики для созданных элементов не пойму??? Вроде и пытаюсь юзать on, но он вешает на уже имеющиеся элементы, а на созданные не вешает. Инфы по этому вопросу в инете не нашел. Прошу вас расскажите как правильно использовать .on() для динамически созданных элементов.
jQuery(".decimal").on('keydown', function(event) {
        // Разрешаем: backspace, delete, tab и escape
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
             // Разрешаем: Ctrl+A
            (event.keyCode == 65 && event.ctrlKey === true) ||
             // Разрешаем: home, end, влево, вправо
            (event.keyCode >= 35 && event.keyCode <= 39)) {
                 // Ничего не делаем
                 return;
        }
        else {
            // Обеждаемся, что это цифра, и останавливаем событие keypress
            if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                event.preventDefault();
            }  
        }
    });
Ответить с цитированием
  #2 (permalink)  
Старый 17.09.2014, 17:23
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

$(document).on("event", "selector", handler);


http://jquery.page2page.ru/index.php5/On
Ответить с цитированием
  #3 (permalink)  
Старый 17.09.2014, 17:29
Аватар для Кирюха =)
Профессор
Отправить личное сообщение для Кирюха =) Посмотреть профиль Найти все сообщения от Кирюха =)
 
Регистрация: 27.07.2011
Сообщений: 207

jQuery(".decimal").on('keydown', '.decimal', function(event) {
        // Разрешаем: backspace, delete, tab и escape
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
             // Разрешаем: Ctrl+A
            (event.keyCode == 65 && event.ctrlKey === true) ||
             // Разрешаем: home, end, влево, вправо
            (event.keyCode >= 35 && event.keyCode <= 39)) {
                 // Ничего не делаем
                 return;
        }
        else {
            // Обеждаемся, что это цифра, и останавливаем событие keypress
            if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                event.preventDefault();
            }  
        }
    });

Типо вот так? Что то не работает...
Ответить с цитированием
  #4 (permalink)  
Старый 17.09.2014, 17:29
Аватар для Кирюха =)
Профессор
Отправить личное сообщение для Кирюха =) Посмотреть профиль Найти все сообщения от Кирюха =)
 
Регистрация: 27.07.2011
Сообщений: 207

Прошу покажи пожалуйста на примере... Я что то туплю...
Ответить с цитированием
  #5 (permalink)  
Старый 17.09.2014, 17:30
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

jQuery(document).on('keydown', '.decimal', function(event) {
        // Разрешаем: backspace, delete, tab и escape
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 ||
             // Разрешаем: Ctrl+A
            (event.keyCode == 65 && event.ctrlKey === true) ||
             // Разрешаем: home, end, влево, вправо
            (event.keyCode >= 35 && event.keyCode <= 39)) {
                 // Ничего не делаем
                 return;
        }
        else {
            // Обеждаемся, что это цифра, и останавливаем событие keypress
            if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
                event.preventDefault();
            }  
        }
    });
Ответить с цитированием
  #6 (permalink)  
Старый 17.09.2014, 17:38
Аватар для Кирюха =)
Профессор
Отправить личное сообщение для Кирюха =) Посмотреть профиль Найти все сообщения от Кирюха =)
 
Регистрация: 27.07.2011
Сообщений: 207

АААААА на документ нужно вязать... Вот теперь дошлоооо. Спасибо тебе друг!!!! Очень помог. держи + к карме)
Ответить с цитированием
  #7 (permalink)  
Старый 17.09.2014, 17:41
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Кирюха =),
не на документ, а на любой не динамический элемент, являющийся родителем.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание директивы artur-pro.z Angular.js 0 15.09.2014 15:11
Динамическое создание колонок в гриде Aries ExtJS 3 16.03.2013 15:53
Динамическое создание таблицы. Проблема с ИЕ Rain Элементы интерфейса 8 24.09.2012 10:46
динамическое создание элементов sg550 Events/DOM/Window 28 02.08.2010 19:34
Динамическое создание событий в цикле IcyBox Общие вопросы Javascript 2 01.06.2009 08:42