Mat*_*ean 4 html javascript jquery jquery-plugins
所以,我有这个问题,过去几天我一直试图修复它而没有运气.我正在使用Jquery.dotdotdot
有什么问题?
当我点击"Read More"它会扩展内容,当我点击"Read Less"它将隐藏扩展的内容.如果我点击"Read More"了第二时间将无法正常工作.
HTML:
<div class='article'>
<div class='articleheader'>Title</div>
<div id='article_$count' class='articlecontent'>
<p>But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure? On the other hand, we denounce with righteous indignation and dislike men who are so beguiled and demoralized by the charms of pleasure of the moment, so blinded by desire, that they cannot foresee
<a href='#' class='readless'>Read Less</a>
</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS :( 无所谓,只是为了提高可见性而添加到小提琴中)
jQuery的:
/*Adds the "Read More" link and truncates the text when clicking read Less. */
$('.readless').click(function () {
$(this).parents('div').eq(0).dotdotdot({
ellipsis: '... ',
wrap: 'word',
fallbackToLetter: true,
after: '<a href="#" class="readmore">Read more »</a>',
watch: false,
height: 100,
tolerance: 10,
lastCharacter: {
remove: [' ', ',', ';', '.', '!', '?'],
noEllipsis: []
}
});
});
/*Truncates all articles */
$("[id^=article]").dotdotdot({
ellipsis: '... ',
wrap: 'word',
fallbackToLetter: true,
after: '<a href="#" class="readmore">Read more »</a>',
watch: false,
height: 100,
tolerance: 10,
lastCharacter: {
remove: [' ', ',', ';', '.', '!', '?'],
noEllipsis: []
}
});
/*removes truncation and shows the hidden "Read Less" link in content*/
$('.readmore').click(function () {
$(this).parents('div').eq(0).trigger("destroy");
});
Run Code Online (Sandbox Code Playgroud)
Sat*_*pal 12
事件处理程序仅绑定到当前选定的元素; 它们必须存在于您的代码进行事件绑定调用时页面上.
由于readmore anchor动态创建,您需要使用 事件委派.您必须使用委托事件方法使用.on().
使用
/*removes truncation and shows the hidden "Read Less" link in content*/
$(".article").on('click', '.readmore', function () {
$(this).parents('div').eq(0).trigger("destroy");
});
Run Code Online (Sandbox Code Playgroud)