删除$(窗口)jQuery中.resize事件(Removing the $(window).res

2019-07-03 15:50发布

我开发部分页面需要$(窗口).resize事件被添加到当用户点击一个按钮,以与窗口调整其大小,放置固定在它的原始尺寸之间切换一个div:

function startResize() {
    $(window).resize(function() {
        $("#content").width(newWidth);
        $("#content").height(newHeight);
    });
}

我不能工作了是再次单击该按钮时,使内容停止调整如何“关闭”该事件。

function endResize() {
    // Code to end $(window).resize function
    $("#content").width(originalWidth);
    $("#content").height(originalHeight);
}

任何帮助,将不胜感激。

Answer 1:

function endResize() {
    $(window).off("resize");
    $("#content").width(originalWidth);
    $("#content").height(originalHeight);
}

请注意,这是极其突兀的,并可能破坏其他代码。

这是更好的方法:

function resizer() {
    $("#content").width(newWidth);
    $("#content").height(newHeight);
}

function startResize() {
    $(window).resize(resizer);
}

function endResize() {
    $(window).off("resize", resizer);
}


Answer 2:

function startResize() {
   $(window).on("resize.mymethod",(function() {
     $("#content").width(newWidth);
     $("#content").height(newHeight);
   }));
}

function endResize() {
   $(window).off("resize.mymethod");
}

使用的查询方法命名空间将允许关闭resize事件的只有你的方法。



文章来源: Removing the $(window).resize Event in jQuery