【问题标题】:Reinitialize global variables without refreshing the page in javascript重新初始化全局变量而不在javascript中刷新页面
【发布时间】:2015-03-29 14:17:12
【问题描述】:

我的是一个web应用,在一个jsp页面中我有一个div(outerDiv),里面有很多内部Div通过拖放内容添加,并且初始化了一组全局变量!

我有以下要求。 我有一个按钮点击,就像刷新整个页面一样我需要清除并重置outerDiv的所有内容,即清除内部Div并重新初始化js文件中存在的所有全局变量而不刷新页面。

我发现jquery .empty 是outerDiv,通过调用$("#attrList1").empty();

但是,如果我再次将任何内容拖放到 outerDiv 中,则无法添加,因为 div 已删除。

我该怎么做?如何重置 javascript 文件中的全局变量?

任何建议!

【问题讨论】:

  • 你能提供一个小提琴,因为我们可以给出重置全局变量的答案,但我认为它不会解决你的问题,你也需要 DIV 重置问题的解决方案。
  • 可以通过在文档中重新添加相关的脚本标签来重置全局变量。问题可能不是全局问题,而是预先绑定的事件,需要手动取消绑定。

标签: javascript jquery html global-variables


【解决方案1】:

首先,声明一个全局变量:

 var currentURL = document.URL;

然后刷新内部div,即刷新特定的div内容,试试这个:

 $('#outerDivContentID').load(currentURL+ ' #outerDivContentID');
 /*Note, be sure to include a space before the hastag.*/

此时,即当你点击按钮时,通过设置一个标志来重新初始化全局变量。

希望这行得通。

【讨论】:

    【解决方案2】:

    如果您只想重置全局变量。将它们放在一个函数中,并在需要重置时调用它。

    $(function(){
    //declare global variables or initialize them like var i=0;
     var init = function(){
    // set the variables to their inital values i.e i = 0;
    };
    
    // Do whatever you want.
    // Call the init to reset.
    init();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 2012-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多