我使用jquery.address,这是一个插件,用于在拥有ajax重型网站时执行浏览器历史记录状态。 但是,在链接触发$ .address.change()函数的某种情况下,应该阻止它。
例如,当有导航时,其中1个元素是当前页面, 我希望它不会重新加载当前页面,而是阻止更改事件发生。
在$ .address.change()函数中我当然可以检查这是否是当前页面,然后返回,但我仍然看到浏览器地址栏中的地址发生变化。
这比重新加载页面更加错误,因为现在它向用户显示当前页面的错误网址。
所以如果有人知道如何阻止jquery.address更改url,例如当链接上有类“current”时?
最好的问候 Sander Houttekier答案 0 :(得分:1)
我会使用链接的点击处理程序以及状态跟踪变量m_page
或m_currentFoo
等,然后在更改地址之前输入if语句检查链接是否对应于当前状态
以下是其API页面中的第一个代码示例:
$.address.change(function(event) {
// do something depending on the event.value property, e.g.
// $('#content').load(event.value + '.xml');
});
$('a').click(function() {
$.address.value($(this).attr('href'));
});
这里有一些修改:
//This is called when the address is changed due to navigation.
$.address.change(function(event) {
// do something depending on the event.value property, e.g.
// $('#content').load(event.value + '.xml');
});
//This is your click handler
$('a').click(function() {
//Do any logic for choosing what happens with the address here.
if(moon = newMoon) {
$.address.value($(this).attr('href'));
}
});