JQuery Valhooks либо ограничены в своей применимости, либо они плохо документированы.JQuery valHooks: выберите по атрибуту?
Я использовал valhooks, установив значение типа на ВЫБ.2 элемента (Выбор2 является причудливым способом обработки выберите списки):
$("#mySelect").select2();
$("#mySelect").select2('container')[0].type='select2Marker';
$.valHooks['select2Marker'] = {
get: function (el) {
alert("hello there");
},
}
Проблема заключается в том, если я вызвать изменение в списке ВЫБ.2, то тип атрибута уничтожается.
$("#mySelect").select2().trigger("change");
Я полагал, что я мог бы решить эту проблему, поставив специальный класс или даже пользовательские «данные-select2type» атрибут на моем выберите тег, но я не могу понять, как определить valhooks выбрать с помощью атрибута или класса , Например,
$.valHooks[".my-class"] = {...}
не работает, когда я пытаюсь добавить класс «мой класс» в свой список выбора. Это возможно? Какими способами valHooks можно привязать к узлу?
Должно ли 'select2Val' быть' select2Marker'? Функция 'get:' должна что-то вернуть. – Barmar
Упс-спасибо, я исправлю это сейчас. функция Get действительно должна что-то возвращать, но она также должна делать ее внутри, независимо от существования возврата, а это не – IcedDante
'valHooks' не смотрит на пользовательские атрибуты. Код: 'hooks = jQuery.valHooks [elem.type] || jQuery.valHooks [elem.nodeName.toLowerCase()]; ' – Barmar