jquery有这个功能
但它不允许名称间距。使用名称间距,您可以在多个类之间切换,就好像它们是单选按钮一样。
例如
toggleClass(el, 'ns1', 'test')
将检查ns1
并删除具有此命名空间的任何其他类,并将其替换为类test
我写了这个库函数来保存我的应用程序代码。
我犯的一个错误是我使用命名空间为类添加了前缀,而不是让它成为一个单独的参数。
以下是我正在使用名称间距的自定义toggleClass:
// apply event listeners to the input elements
applyEL: function (input_element, label_element) {
var self = this;
self.J.input = $(input_element);
self.J.input.on("blur", function () {
if (input_element.value === '') {
$A.toggleClass(input_element, self.S.toggle_border_show);
$A.toggleClass(label_element, self.S.toggle_label_show);
$A.expandFont(label_element, 'up', self.S.speed);
}
}, false);
self.J.input.on("focus", function () {
if (input_element.value === '') {
$A.toggleClass(input_element, self.S.toggle_border_obscure);
$A.toggleClass(label_element, self.S.toggle_label_obscure);
}
}, false);
self.J.input.on("paste keypress drop", function () {
$A.setTimeout(function (label_element, input_element) {
$A.toggleClass(label_element, this.S.toggle_label_hide);
$A.toggleClass(input_element, this.S.toggle_border_hide);
}, 0);
}, false);
}
有没有更好的方法来做到这一点,另外还有我提到的。
答案 0 :(得分:0)
更好的方法是,而是将一个类添加到html或body元素,它将充当名称空间,就像常见的主题切换器一样?
如果您需要特定元素的本地名称空间,您将引用父元素。
繁荣,你有名字空间!