0
내 레일 앱에서 사용자가 메뉴의 링크를 클릭하면 링크에 밑줄이 그어 현재 페이지임을 나타 내기 위해 노력하고 있습니다. 기본 자바 스크립트와 CSS로 설정했지만 addClass()
및 removeClass()
기능을 작동시키는 데 문제가 있습니다.자바 스크립트로 클릭시 클래스 추가 및 제거
지금은 active
링크에 밑줄을 긋지 만 다른 링크를 클릭하면 활성 클래스가 전송되지 않습니다 (링크가 깜박 거리는 것처럼 보이지만). 어떤 도움을 많이 주시면 감사하겠습니다!
Menu (메뉴) HTML
<div id="collective_tabs">
<ul>
<li>
<%= link_to 'Projects', collective_projects_path(@collective) %>
</li>
<li>
<%= link_to 'Members', collective_members_path(@collective) class: 'active' %>
</li>
<ul>
</div>
CSS
.active {
border-bottom: 1px solid;
}
은 당
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require chosen-jquery
//= require messages
//= require bootstrap
//= require turbolinks
//= require_tree .
$(document).ready(function() {
$('#collective_tabs li a').on('click', function(){
$('li a.active').removeClass('active');
$(this).addClass('active');
});
});
흠. 이 문제는 터보 링크 통합에 있다고 생각합니다. jsfiddle로 테스트 할 방법이 없다고 가정하고 있습니까? – Ben
"turbolinks"가 적절한 HTML 출력을 생성하는지 먼저 확인하십시오. – mezod
네가 옳았다는 것이 모두 좋았다. 내가 작동시키지 못하는 이유는 링크가 아약스를 사용하지 않아서 클릭하면 메뉴가 새로 고쳐지기 때문입니다. 결과적으로 '회원'은 항상 기본 원인이었습니다. 얼굴 손바닥. – Ben