我正在使用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分页寻找另一个页面时,脚本不起作用。换句话说,该脚本只能运行一次。
任何人都可以帮我这个吗?提前谢谢。
答案 0 :(得分:-1)
尝试使用.on:
替换您的点击处理程序此:
$('.morelink').click(function () {
变成这样的东西:
$('body').on('click', '.morelink', function () {
请查看以下问题Why use jQuery on() instead of click()以获得更好的解释,但基本上您将click事件绑定到.morelink容器的该实例。如果你在jQuery中覆盖它,你将失去该事件。