如何触发jQuery asual的地址插件的更改事件?

Posted

技术标签:

【中文标题】如何触发jQuery asual的地址插件的更改事件?【英文标题】:How to trigger jQuery asual's address plugin's change event? 【发布时间】:2012-04-24 20:16:28 【问题描述】:

我正在使用 jQuery Asual Address 插件:http://www.asual.com/jquery/address/

jQuery Asual Address 插件是这样使用的

$('a').click(function() 
  $.address.value($(this).attr('href'));
  return false;
);

$.address.change(changeFunction);  

如果我在链接“index.php”上单击两次,则第二次 URL 不会更改,并且不会触发 Change 事件,因此不会重新加载页面。知道如何触发 jquery 地址更改吗?

问候, 卫生巾

【问题讨论】:

您的代码中有一个额外的撇号 (') - 这是一个错字吗? 【参考方案1】:

这个出色插件的棘手之处在于$.address 是一个常规对象,而不是一个 jQuery 对象($ 在这里具有误导性)。

要使触发器工作,您需要以这种方式使用它(我已通过插件源阅读此内容):

$($.address).trigger("change");

不幸的是,这导致您不能依赖valuepathpathNamesparameterNamesparametersqueryString 的常用调用方参数的缺点。您需要以这种方式构建回调函数,以便它可以在内部提取这些值(例如,通过 $.address.value() 方法)。

【讨论】:

以上是关于如何触发jQuery asual的地址插件的更改事件?的主要内容,如果未能解决你的问题,请参考以下文章

在 hashchange 插件中更改哈希的外观

Jquery地址插件:如何避免历史更改?

jQuery在页面后退按钮滚动

当我在选择上使用向上或向下箭头时,为啥 jquery 更改事件不触发?

如何使用jQuery触发类更改事件?

如何知道何时触发 JQuery 函数?