2017-03-28 2 views
0

내가 달성하고자하는 것은 사용자가 목록 그룹의 항목 중 하나를 선택할 수 있으며 그룹에서 항목을 활성화하는 것과 함께 어떤 항목이 반환 될 수 있는지를 알 수 있습니다. jquery로 작업 할 수 없거나 정확하게 처리하지 못하는 것 같습니다.레일즈 클릭 이벤트가 작동하지 않습니다

의견/도움을 보내 주시면 감사하겠습니다. 여기

내가 editors.js

$(document).ready(function() { 
$(".list-group-item").live('click', function(){ 
    $('.active').removeClass('active'); 
    $(this).addClass('active'); 
}); 
}); 

답변

0

$(document).on("click", ".list-group-item", function(){ 
 
    $(this).addClass('active') 
 
    .siblings('.active') 
 
    .removeClass('active'); 
 
});
.active { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="list-group"> 
 
    <a class="list-group-item active">Hello</a> 
 
    <a class="list-group-item">Hey</a> 
 
    <a class="list-group-item">Greetings</a> 
 
</div> 
 
<div class="list-group"> 
 
    <a class="list-group-item active">Bye</a> 
 
    <a class="list-group-item">Adios</a> 
 
    <a class="list-group-item">Auf Wiedersehen</a> 
 
</div>
이 또한 멱등 만들고으로 호환 turbolinks

라는 JS 파일을 만든 HAML 코드

= form_for @editor do |f| 
    %body 
    .container 
    .list-group 
     %a.list-group-item.active Hello 
     %a.list-group-item Hey 
     %a.list-group-item Greetings 

입니다 t를 붙이는 대신 문서에서 위임하기 그는 DOM 노드를 처리한다.

+0

여전히 앱에서 작동하지 않으므로 결과가 변경되지 않았습니다. 그 밖의 무엇이 잘못 될 수 있습니까? – codeNinjaBro

+0

위 코드는 의도 한대로 작동하므로 오류가 다른 곳에서 발생합니다. 하지만 실제로 브라우저에서 콘솔을 사용하여 직접 디버깅해야합니다. – max

+0

또한 javascript 파일이 실제로 application.js에 포함되고 브라우저에서 실행되는지 확인해야합니다. – max

관련 문제