如何使用link_to
帮助程序创建不带href
属性的链接?我想为JavaScript动作专门制作一个链接,我不希望它重新加载页面或任何东西。Rails:使用link_to创建不带href的链接
当我省略url参数时,单击链接重新加载页面。同上提供nil
来代替网址。
如何使用link_to
帮助程序创建不带href
属性的链接?我想为JavaScript动作专门制作一个链接,我不希望它重新加载页面或任何东西。Rails:使用link_to创建不带href的链接
当我省略url参数时,单击链接重新加载页面。同上提供nil
来代替网址。
我用这个办法:
= link_to('Click me', 'javascript:;', :id => :foo)
它基本上一个Javascript no-op
这起作用。最后只需制作一个没有href的''''标签,这样浏览器就不会在左下角显示'javascript:;'链接目标预览。 – bevanb
'javascript:void(0)'有什么区别? – freemanoid
将HREF到:
javascript:void(0)
这会让你有一个链接,点击它什么也不做,不重新加载页面,而不会移动页面到顶部。
另一种方法是
= link_to("My hyperlink", "#")
这会给你一个链接,点击后,没有重新加载页面像传递零。同时,它会将鼠标设置为鼠标悬停的指针,这将不会通过content_tag方法获得。
这在某些地方是可以的,但它会将屏幕弹回到页面的顶部。添加'javascript :;'如上所述,可能是大多数情况下更好的方法。 – jacklin
有趣,谢谢你的提示。 –
我更喜欢使用普通的HTML而不href
属性在所有在这种情况下:
<a data-toggle="modal" data-target="#myModal">Open dialog</a>
IMHO它比content_tag("a","link text")
更具有可读性。
href=#
的缺点是,当默认点击浏览器会滚动到顶部 javascript:;
长相丑陋我认为你最好使用有情况下一个按钮没有href。
<button class='button'>Hello</button>
<%= link_to '+ Add Make', 'javascript:void(0)', id: 'add-make', onclick: 'addMake()' %>
,然后你的jQuery:
function addMake() {
$.ajax({
url: '/dealers',
type: 'GET',
dataType: 'script',
success: function (data) {
console.log('it was successful')
$('.add-make').hide();
},
error: function (data) {
console.log('it was error')
}
});
}
你试过设置URL以 “#”? –
做“#”使它重新加载页面。我知道我可以用JS重写链接动作,但是似乎应该有一个更简单的解决方案,用'link_to' – bevanb
它为你生成的HTML是什么?在一天结束时,你的JS应该防止默认的链接点击行为。这可能不是问题。 –