如何使用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應該防止默認的鏈接點擊行爲。這可能不是問題。 –