JQuery valHooks:select 按属性?
JQuery valHooks: select by attribute?
JQuery Valhook 的适用性有限,或者文档非常少。
我通过在 select2 元素上设置类型值来使用 valhooks(select2 是一种处理 select 列表的奇特方式):
$("#mySelect").select2();
$("#mySelect").select2('container')[0].type='select2Marker';
$.valHooks['select2Marker'] = {
get: function (el) {
alert("hello there");
},
}
问题是如果我在 select2 列表中触发更改,type 属性会被清除。
$("#mySelect").select2().trigger("change");
我想我可以通过在我的 select 标签上放置一个特殊的 class 甚至自定义 "data-select2type" 属性来解决这个问题,但我不知道如何定义 valhooks select 按属性或 class。例如,
$.valHooks[".my-class"] = {...}
当我尝试将 class "my-class" 添加到我的 select 列表时, 不起作用。这可能吗? valHooks 可以通过哪些不同的方式附加到节点?
valHooks 只能附加到输入类型或节点名称。由于自定义类型不会粘附在非输入元素上,因此请将钩子附加到节点名称。然后测试是否有你要自定义的class
$.valHooks['div'] = {
get: function(el) {
if ($(el).hasClass("myClass"))
alert("hello there");
return ...;
},
set: ...
};
JQuery Valhook 的适用性有限,或者文档非常少。
我通过在 select2 元素上设置类型值来使用 valhooks(select2 是一种处理 select 列表的奇特方式):
$("#mySelect").select2();
$("#mySelect").select2('container')[0].type='select2Marker';
$.valHooks['select2Marker'] = {
get: function (el) {
alert("hello there");
},
}
问题是如果我在 select2 列表中触发更改,type 属性会被清除。
$("#mySelect").select2().trigger("change");
我想我可以通过在我的 select 标签上放置一个特殊的 class 甚至自定义 "data-select2type" 属性来解决这个问题,但我不知道如何定义 valhooks select 按属性或 class。例如,
$.valHooks[".my-class"] = {...}
当我尝试将 class "my-class" 添加到我的 select 列表时,不起作用。这可能吗? valHooks 可以通过哪些不同的方式附加到节点?
valHooks 只能附加到输入类型或节点名称。由于自定义类型不会粘附在非输入元素上,因此请将钩子附加到节点名称。然后测试是否有你要自定义的class
$.valHooks['div'] = {
get: function(el) {
if ($(el).hasClass("myClass"))
alert("hello there");
return ...;
},
set: ...
};