我有超鏈接與分配給客戶端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