我有超链接href ="#"分配给客户端javascript事件处理程序的。当通过ajax发出请求时,这些链接的行为与预期的一样(通过"点击"事件)但是当我偶尔使用Rails link_to帮助生成的链接时,这些href值突然变坏:href ="# "变成href =" users / 1 / photo / 4"例如。页面上的每个链接都会获得相同的值!
当我使用Chrome的Inspect Element时,它会显示渲染的href值仍然是href ="#"然后滚动它会显示它指向不需要的网址。事件监听器失败。这种趋势是否会迫使我的链接占位符承担不需要的值?为什么铁轨弄乱了我的链接?
以下是分配事件处理程序的典型javascript代码:
Menu.prototype.activatePhotosLink = function() {
var self = this;
// ======= get all user photos =======
$("#main-nav").on("click", function(){
event.preventDefault();
self.getUserPhotos();
});
}
以下是使用href ="#"
通过Chrome的Inspect Element查看链接的方式<a href="#" id="main-nav" data-no-turbolink="true">photos</a>
我尝试使用data-no-turbolink =&#34; true&#34;来解决这个问题。但那没用。同时,这是我在浏览器中看到的&#34;链接到工具提示&#34;在翻转:
localhost:30000/users/1#
为什么不href =&#34;#&#34;?谢谢你的任何想法!
答案 0 :(得分:0)
路径未损坏。它应该是您所在页面的路径,并附加了#标签。这与Rails和JavaScript无关,而是HTML中的一项功能。在HTML中,如果要创建指向页面中某个元素的锚点链接,请将其id
传递给href
。您可以阅读更多相关信息here。
如果您在翻转链接时不想显示网址,可以使用href='javascript:void(0)'