亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自定義 javascript 函數在帶有 Turbolinks 的 rails 5 中不起作用

自定義 javascript 函數在帶有 Turbolinks 的 rails 5 中不起作用

狐的傳說 2022-09-02 16:10:07
我是JavaScript的新手,我在獲取自定義函數以在Rails 5應用程序中工作時遇到問題。我正在嘗試添加一個簡單的函數,該函數在引導導航欄標題中設置活動鏈接。我在密碼筆中得到了所有工作,但是當我將其添加到我的Rails應用程序中時,它不起作用。我知道javascript正在運行,因為我正在使用bootstrap并且這些函數可以正常工作。我還認為腳本是通過檢查Chrome開發人員工具中的源代碼來加載的,它就在那里。但是,設置斷點永遠不會被觸發。我已經閱讀了大約30個類似的問題,但沒有一個幫助解決我的問題,所以我真的希望有人能讓我克服這個障礙。這是我寫的代碼:斷續器<nav class="navbar navbar-light bg-light navbar-expand-md fixed-top header-bg">  <%= link_to image_tag(asset_path('jungers_farm/jungers_logo.png'),                  width: '50', height: '50'),                 root_path, class:'navbar-brand col-4 menu-brand' %>  <button class="navbar-toggler" type="button" data-toggle="collapse"          data-target="#navbar-list-2" aria-controls="navbarNav" aria-expanded="false"          aria-label="Toggle navigation">    <span class="navbar-toggler-icon"></span>  </button>  <div class="collapse navbar-collapse" id="navbar-list-2">    <ul class="navbar-nav justify-content-center" id="main-nav-list">      <li class="nav-item">        <%= link_to 'Home', root_path, class: 'nav-link active' %>      </li>      <li class="nav-item">        <%= link_to 'Training', page_path('training'), class: 'nav-link' %>      </li>      <li class="nav-item">        <%= link_to 'Breeding', page_path('breeding'), class: 'nav-link' %>      </li>    </ul>  </div></nav>Javascript$('.navbar-nav .nav-link').click(function(){  $('.navbar-nav .nav-link').removeClass('active');  $(this).addClass('active');})這是代碼筆,表明它在該環境中工作,以及我試圖完成的任務。密碼筆更新所以,我最初的問題是,由于turbolinks,代碼沒有在DOM之后加載。我添加了以下代碼,現在它正在運行。$( document ).on('turbolinks:load', function() {    ... original code ...})但是,代碼沒有像我的代碼筆中那樣運行。活動鏈接未按預期更改。無論單擊哪個鏈接,最初標記為活動狀態的鏈接都將保持活動狀態。我丟失的頁面還有其他加載問題嗎?
查看完整描述

1 回答

?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

所以,我發現在Rails 5中使用Turbolinks時,你必須使用Turbolinks事件來確保觸發你的javascript代碼。我常規的JQuery $(窗口)并不總是能做到這一點。例如,您可以執行以下操作,在初始頁面加載后觸發一次代碼,并在每次Turbolinks訪問后再次觸發代碼。

$( document ).on('turbolinks:load', function() {
  $('.navbar-nav .nav-link').click(function(){
    $('.navbar-nav .nav-link').removeClass('active');
    $(this).addClass('active');
  }) 
})

渦輪鏈接 5

您可以在此處閱讀有關Turbolinks事件的更多信息:Turbolinks Events。有關Turbolinks 5的更多信息,請單擊此處:Turbolinks 5。


查看完整回答
反對 回復 2022-09-02
  • 1 回答
  • 0 關注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號