xfyanmeng
2018-12-08 07:22
采纳率: 91.7%
浏览 1.2k

js给a标签绑定事件问题

js给a标签绑定了事件,部分代码是否执行取决于localstorage里的一个变量值,另外一个页面或者手动修改了这个值,当前页面在不刷新的情况下能不能根据新值来判断?

$jq(document).on("click", "a[datatype='ta']", function(e){
    if(localStorage["i"]!="0"){//localStorage["i"]可能会变
      tips();
      return false;
     }
});

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 陈田田 2018-12-10 07:23
    已采纳

    是可以的。
    你可以在页面里定义一个函数,用来检测localStorage的值,通过不同的值定义不同的方法。
    然后在页面初次加载,以及localStorage改变的时候引用这个方法即可。

    首先定义一个检测localStorage值的方法

    function checkLocalStorage(){
        var storage=window.localStorage;
        //检查i字段
         vart i = storage["i"]
            if( i == undefined){
                // 这里的初始值你可以自由设置
                storage["i"] = '';
            } else if ( i == 0 ){
                  // 执行方法1;
                    ...
            } else if (i==1){
                // 执行方法2;
                    ...
            }
    }
    

    然后再window.onload的时候执行这个方法。如果没有默认值,可以设置默认值,如果有了默认值,可以根据默认值的不同执行不同的方法。
    即使在别的页面改变了这个值也是可以的。

    然后就是在点击事件中,改变了之后可以执行一次。

    望采纳。

    已采纳该答案
    打赏 评论
  • 天际的海浪 2018-12-08 08:11

    当然可以,只要是同一域的页面localStorage就是共通的。
    其实你自己测试一下不就知道了。

    打赏 评论
  • 槿畔 2018-12-10 07:59

    同一个项目下的网页肯定是互通的,你如果是一个网站跟另外一个网站的关系就不行了

    打赏 评论

相关推荐 更多相似问题