为什么rails会更改占位符标签值?

时间:2015-10-26 22:41:05

标签: javascript ruby-on-rails

我有超链接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;?谢谢你的任何想法!

1 个答案:

答案 0 :(得分:0)

路径未损坏。它应该是您所在页面的路径,并附加了#标签。这与Rails和JavaScript无关,而是HTML中的一项功能。在HTML中,如果要创建指向页面中某个元素的锚点链接,请将其id传递给href。您可以阅读更多相关信息here

如果您在翻转链接时不想显示网址,可以使用href='javascript:void(0)'