2016-12-06 10 views
0

をナビゲートした後に動作を停止: アプリ/資産/ JavaScriptの/ custom.js:jQueryのは、私がコードを使用してリンクするテーブルをクリック可能に行を持つことができるよ私のRailsアプリケーションの他のページ

var main = function() { 
    $("#my_table tr").on('click', function() { 
    window.location = $(this).data("link") 
    }); 
}; 
$(document).ready(main); 

HTML:

<table class="table" id="my_table"> 
    <thead>...</thead> 
    <tbody> 
     <tr data-link= "<%= my_path(myobject) %>"> 
     <td><%= myobject.name %></td> 
     <td><%= myobject.email %></td> 
    </tbody> 
</table> 

はしかし、別のページを訪問し、テーブルに戻っページに取得した後、行はもはやクリック可能ではありません。私はブラウザをリフレッシュする場合のみ動作します。ページ切り替え後に機能が停止しないようにするには、何が必要ですか?

+0

一度ライブ機能を使用する –

+0

@navnit '$(" #my_table tr ").one(" click "、fu noke(){'は動作しません。 – amo

答えて

0

これはターボリンクに関連するかもしれない、私はRailsのでTurbolinksを使用して5

てみてください多くのquarkyのJSエラーを経験しました

0

TRエレメントに実際にdata-link="http://domain.com/path"がありますか?あなたは、あなたが使用することができ、リンクをクリックしてシミュレートするために、TRはリダイレクトについて

...どのように見えるかを置かなかった:

window.location.href = $(this).data("link") 

はそれが役に立てば幸い!

+0

' ' – amo

+0

に 'data-link =" path "を追加しました。しかし、それはRailsとTurbolinksの問題であるようです。 – QuarK

0

私はNavnitミシュラは、イベントハンドラとして$("#my_table tr").one("click", function() {を使用しますが、あなたのイベントを処理するために

$("#my_table tr").live("click", function() {(your_event)}) 

を使用していない何を意味するかと思います。 .live将来クラスの要素のイベントハンドラを添付することもできます。 details for .live in jqueryはjqueryサイトで入手できます。代わりに

$(document).ready(main) 

$(document).on('turbolinks:load', function() { 
    // your code 
} 

はそれが役に立てば幸い:

関連する問題