0

例子:

http://localhost/#view=1

如果我想得到那个变量“view”,我需要得到window.location.href,然后拆分#并做更多的事情。

这是我的问题:

<a href="#view=1">View 1</a>
<a href="#view=2">View 2</a>

无论如何要检测查看 1 单击或查看 2 单击的时间?对于人们点击 View 2,一个函数将为view=2.

或者我必须这样做:

<a href="#view=1" onclick="setview(1);">View 1</a>
<a href="#view=2" onclick="setview(2);">View 2</a>

我希望当人们复制链接http://localhost/#view=2并发送给那里的朋友时,setview(2)当他们的朋友访问该 URL 时,该功能将运行,而他们不需要单击该链接。

4

1 回答 1

3

您可以使用hashChange事件

$(function(){
  // Bind the event.
  $(window).hashchange( function(){
    // Alerts every time the hash changes!
    alert( location.hash );
  })

  // Trigger the event (useful on page load).
  $(window).hashchange();
});

现在在$(window).hashchange();函数中,输入您的代码:

$(window).hashchange(function(){
  $(location.hash).show();
});

在您的情况下,它将是:

$(window).hashchange(function(){
  setview(location.hash[strlen(location.hash)-1]); // Get the last character, if this doesn't work.
});

忘记添加插件:http ://benalman.com/projects/jquery-hashchange-plugin/ ,您需要使用它。

于 2012-11-10T17:24:49.953 回答