找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1591|回复: 3

[求助] 关于路由管理中的hashchange事件

[复制链接]
发表于 2015-4-9 22:37:01 | 显示全部楼层 |阅读模式
下面的demo中,如何实现在写入hash值的时候不触发onhashchange事件?

 提示:您可以先修改部分代码再运行

发表于 2015-4-10 10:19:58 | 显示全部楼层

 提示:您可以先修改部分代码再运行

回复 支持 反对

使用道具 举报

发表于 2015-4-10 10:20:29 | 显示全部楼层
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <meta charset="utf-8" />
  5.         <title>hashchange</title>
  6.         <style type="text/css">
  7.         #div1{
  8.                 width:100px;
  9.                 height:100px;
  10.                 background:#000;
  11.                 margin:100px auto;
  12.         }
  13.         </style>
  14. <body>
  15.         <div id="div1"></div>
  16.         <script>
  17.         window.onload=function(){
  18.                 document.getElementById("div1").onclick=function(){
  19.                         document["disablehashaction"]=true;
  20.                         window.location.hash='a';
  21.                         this.style.backgroundColor='red';
  22.                         document["disablehashaction"]=false;
  23.                 }

  24.                 window.onhashchange=function(){
  25.                         //当注释下面一行代码的时候,第一次点击方块变红,否则变蓝,求解决办法
  26.                         document["disablehashaction"]!=true?document.getElementById('div1').style.backgroundColor='blue':null;
  27.                 }
  28.         }
  29.         </script>
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-10 14:29:03 | 显示全部楼层

你上面的代码运行有点问题,就是当点击后退按钮也不会变色

不过,非常感谢你提供的思路.加个判断就可以了,不知道为什么一直想不到
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备12001430号 )

GMT+8, 2021-1-21 16:40 , Processed in 0.057053 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表