2013-06-11 3 views
0

데이터 목록과 함께 프라임을 사용하는 애플리케이션에 jQuery를 사용하고 있습니다. 실제로이 웹 사이트에서 얻을jQuery는 페이지 매김과 함께 한 번만 작동합니다.

$(document).ready(function(e) { 
      var showChar = 100; 
      var ellipsestext = "..."; 
      var moretext = "Daha Fazla"; 
      var lesstext = "Daha Az"; 
      $('.more').each(function() { 
       var content = $(this).html(); 

       if(content.length > showChar) { 

        var c = content.substr(0, showChar); 
        var h = content.substr(showChar-1, content.length - showChar); 

        var html = c + '<span class="moreellipses">' + ellipsestext+ '</span><span class="morecontent"><span>' + h + '</span><a href="" class="morelink">' + moretext + '</a></span>'; 

        $(this).html(html); 
       } 


      $(".morelink").click(function(){ 
       if($(this).hasClass("less")) { 
        $(this).removeClass("less"); 
        $(this).html(moretext); 
       } else { 
        $(this).addClass("less"); 
        $(this).html(lesstext); 
       } 
       $(this).parent().prev().toggle(); 
       $(this).prev().toggle(); 
       return false; 
      }); 
      }); 
     }); 

: http://www.midnight-coding.com/2012/09/jquery-implementing-show-more-show-less.html?showComment=1370956365671#c4153997055911566116

하지만 난 DataList에 페이지 매김을 사용하여 다른 페이지에 갈 때 얻을 문제는, 스크립트가 작동하지 않습니다이 내 jQuery를합니다. 즉, 스크립트는 한 번만 작동합니다.

아무에게도 도움이 될 수 있습니까? 미리 감사드립니다.

+0

안녕 Zeynep. 블로그에서 데모를 만들 때 나는 한적한 코드 조각을 만들고있었습니다. 전에 JSF (또는 일반적으로) 프라임 꼴로 작업 한 적 없다. JSF 파일에 의해 수행 된 일부 DOM 변경 사항으로 인해'.morelink'가있는 요소가 제거되거나 다시 추가 될지 궁금합니다. 페이징하지 않을 때 쇼를 더/덜 클릭하면 항상 작동하며 페이지 할 때만 깨지기 시작합니까? 이는 그리드가 호출 될 때마다 클릭 이벤트를 다시 바인딩해야하는 문제 일 수 있습니다. – Nope

답변

-1

것은 CSTE 연구진로 클릭 핸들러를 교체하십시오 :

이 :

$('body').on('click', '.morelink', function() { 

좋은 설명은 다음과 같은 질문 Why use jQuery on() instead of click()를 살펴 보자 :

$('.morelink').click(function() { 

이 같은되다 본질적으로 .morelink 컨테이너의 해당 인스턴스에 클릭 이벤트를 바인딩합니다. jQuery에서이를 덮어 쓰면 이벤트가 손실됩니다.

+0

나는 '$ ('.morelink ')를 바꾸는 대신에'$ ('body')와 함께 click (function {) { 'click', 'morelink ', function() {' u, 다른 제안을 주셔서 감사합니다. –

+0

당신이 가지고있는 문제를보다 분명하게 보여주는 바이올린 @ jsfiddle.net을 함께 넣을 수 있습니까? –

+0

http://jsfiddle.net/zeynepeyyuboglu/Sv9AM/ –