У меня есть фрагмент текста, который я хочу показать усеченным, но при нажатии он развернется, чтобы показать остальные. Повторное нажатие должно усечь его.
Я пытался использовать событие onclick для обработки этого следующим образом ( ПРЕДУПРЕЖДЕНИЕ : не запускать следующий код, не читая ниже ...):
<span id='blah' onclick='showAllComment("this is a long comment to see it all", 9, true )'>this is a...</span>
<script>
function showAllComment( comment, shortCommentLen, showFullComment )
{
alert( $("#blah").html() );
if( showFullComment )
{
$("#blah").html( comment );
$("#blah").click( showAllComment( comment, shortCommentLen, false ) );
}
else
{
$("#blah").html( comment.substring( 0, shortCommentLen ) + "..." );
$("#blah").click( showAllComment( comment, shortCommentLen, true ) );
}
}
</script>
Но, как вы увидите, он многократно вызывает себя, и вы должны завершить задачу браузера (поэтому будьте осторожны при запуске этого кода !!!!)
Может кто-нибудь подсказать, почему это происходит, и что делать, чтобы решить эту проблему.
Заранее спасибо