Селекты jQuery на атрибуты
Доброго вечера.
не могу подобрать подходящую комбинацию селектов.. Задача: нужно по первой части атрибута определить элемент и как следствие вызывать функцию Пример: <span data-click="open">кнопка</span> jQuery .... $('[data-click]').on({ click : function(){console.log('click');}, focusin : function(){console.log('focus in');}, }); .... В данном случаи как можно извратиться что бы реализовать [data-^], т.е. срабатываем на любой аттрибут начинающейся с data- и есть ли возможность окончание данного DATA подключить нужную функцию? т.е. если DATA-click то используем click : function... PS ну последнее пальцем в небо))) |
Infinity178,
$(function() { var ev = { click: function() { console.log("click") }, focusin: function() { console.log("focusin") } }; $("span").each(function(indx, el) { el = $(el); var data = el.data(); Object.keys(data).forEach(function(key) { ev[key] && el.on(key, ev[key]) }) }) }); или так $(function() { var ev = { click: function() { console.log("click") }, focusin: function() { console.log("focusin") } }; Object.keys(ev).forEach(function(key) { $("[data-" + key + "]").on(key, ev[key]) }) }); |
Часовой пояс GMT +3, время: 20:43. |