jQuery或多或少与分页只工作一次

时间:2013-06-11 14:04:06

标签: jquery primefaces datalist jquery-pagination

我正在使用jQuery为我的应用程序使用带有datalist的primefaces。这是我的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分页寻找另一个页面时,脚本不起作用。换句话说,该脚本只能运行一次。

任何人都可以帮我这个吗?提前谢谢。

1 个答案:

答案 0 :(得分:-1)

尝试使用.on:

替换您的点击处理程序

此:

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

变成这样的东西:

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

请查看以下问题Why use jQuery on() instead of click()以获得更好的解释,但基本上您将click事件绑定到.morelink容器的该实例。如果你在jQuery中覆盖它,你将失去该事件。