在我正在编写的 jQuery 插件中,我通过向发生事件的元素的父元素添加一个类来引用事件发生的事实。这得到了很好的补充。但是,在删除该类时,该类不会删除。
这是一个触发类添加/删除的窗口大小更改事件。
我创建了一个 jsFiddle,当您更改屏幕宽度时,您可以在其中看到“重新定位”类适用,但在屏幕放大时不会被删除,就像它应该的那样。
应用和删除类的函数:
var init = function() {
var winW = $(window).width();
if (winW < settings.breakpoint && !$(el.parentNode).hasClass("relocated")) {
/* change the order of the item */
if (settings.targetPosition === "start") {
$(el).prependTo(settings.targetContainer[i]);
} else {
$(el).appendTo(settings.targetContainer[i]);
}
$(el.parentNode).addClass("relocated");
} else if (winW >= settings.breakpoint && $(el.parentNode).hasClass("relocated")) {
/* return the moved item back into the orignal position */
if (originalLocation.parent) {
/* element was a first child */
$(originalLocation.parent).prepend(el);
} else {
/* element was not a first child */
/* add a line break to preserve inline-block spacing */
$(originalLocation.prev).after(el).after("\n");
}
$(el.parentNode).removeClass("relocated");
}
};