1

我有 2 个问题

  1. 我正在使用 hashchange 插件....所以我想知道每次发生 hashchange 时都会调用如下函数...因为我的代码中有类似的东西并且代码函数显然没有被调用

    $(document).ready(function()
    {
        // function here
    });
    
  2. 另一方面,如果我删除 hashchange,如我将http://abc.com/a.htm#http://abc.com/b.htm 设置 为http://abc.com/b.htm代码工作正常

问题是我的页面结构有点不同....这里是页面结构的小提琴,它在更高级别上解释了我试图实现的目标jsfiddle.net/vBKWd/9 ...关于哈希更改我的第 1 页上的 div c 被第 2 页替换,反之亦然....并且我在下面显示的 js 函数仅被调用一次,而不是在 hashchange 之后

或者有什么方法可以将函数与 div 绑定,以便每当 div 被替换时,函数就会被调用?

4

3 回答 3

3

不,ready处理程序仅在文档准备好时调用,而不是在哈希更改时调用。您应该为此使用hashchange事件,而不是:

$(window).hashchange(function () {
    // function here
});

示例:http: //jsfiddle.net/vBKWd/2/

于 2011-06-30T05:03:20.633 回答
0

在下面的文档就绪写代码中

$(window).bind('hashchange', function () {
                 //code here
});
于 2019-05-13T15:39:20.983 回答
-1

live在这种情况下 使用

$(document).ready(function()
{   
   $(selector).live(hashchange, function(){
    // your code goes here

    });
});
于 2011-06-30T05:13:35.450 回答