我有超链接与分配给客户端JavaScript事件处理程序的href =“#”。当通过ajax发出请求时,这些链接的行为与预期的一样(通过“点击”事件),但是当我偶尔使用由Rails link_to helper生成的链接时,这些href值突然变得损坏:href =“users/1”/photo/4“为例。页面上的每个链接都会提供相同的值!为什么rails会改变我的占位符hashtag值?
当我使用Chrome的Inspect元素时,它显示呈现的href值仍然是href =“#”,但是翻转它显示它指向不需要的url。事件侦听器失败。这是turbolinks迫使我的链接占位符承担不必要的价值?为什么rails会与我的链接混淆?
这里是典型的JavaScript代码分配一个事件处理程序:
Menu.prototype.activatePhotosLink = function() {
var self = this;
// ======= get all user photos =======
$("#main-nav").on("click", function(){
event.preventDefault();
self.getUserPhotos();
});
}
这里的链接通过Chrome的外观检查元素与HREF =“#”:
<a href="#" id="main-nav" data-no-turbolink="true">photos</a>
我试图解决这个问题用data-no-turbolink =“true”但没有奏效。同时,这里是我在浏览器的见“链接工具提示”上翻滚:
localhost:30000/users/1#
为什么不HREF =“#”?谢谢你的任何想法!
你刚才救了我小时的工作量。现在按预期工作。谢谢! – tomBeach