考虑我们要创建一个包含textarea的页面来键入文章. textarea的大小设置为A5纸张大小.对于长文本,当用户键入并完成第一个textarea时,需要在第一个textarea后添加另一个textarea以允许用户继续在下一页输入(类似于MS word).
你的建议是什么?
.A5 {
  width: 148mm;
  padding: 1cm;
  margin: 1px;
  Box-sizing: border-Box;
  height: 210mm;
  border: solid 1px;
  resize: none;
  display: block;
}

@page {
  size: A5;
  margin: 0;
  padding: 0;
}

@media print {
  .A5 {
    visibility: visible;
    position: fixed;
    top:0;
    left:0;
    z-index: 99;
    border:none;
  }
  body> :not(.A5){
    color: red;
    display:none;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<h1>
Paper Print Test
</h1>
<input type="button" value="print" onclick="window.print()"/>
<textarea class="A5">
  Article Text 
</textarea>

解决方法

更新,在第二页添加删除句柄

我想这是你想要的,使用clientHeight和scrollHeight检测滚动.还剩下更多的东西给你

1.空页面上的空格或第一个字符之前的退格空格

2.在已经完整的页面中插入/删除

3.cus在页面之间移动

$('body').on('keyup','.A5',function(e) {
  if ($(this)[0].clientHeight < $(this)[0].scrollHeight) {
    eatBackAndNew(this)
  } else if (e.keyCode == 8 || e.keyCode == 46) {
    //backspace=8,del=46
    if ($(this).val() === '' && !$(this).attr('data-first')) {
      $(this).prev().focus()
      $(this).remove()
    }
  }
})

//this can be more complicated if user paste 
function eatBackAndNew(textarea) {
  let str = $(textarea).val()
  let newStr = str.substr(str.length - 1,1)
  $(textarea).val(str.substr(0,str.length - 1))

  let $newTextarea = $(`<textarea class="A5">${newStr}</textarea>`)
  $('.js-container').append($newTextarea)
  $newTextarea.focus()
}
.A5 {
  width: 148mm;
  padding: 1cm;
  margin: 1px;
  Box-sizing: border-Box;
  height: 210mm;
  border: solid 1px;
  resize: none;
  display: block;
}

@page {
  size: A5;
  margin: 0;
  padding: 0;
}

@media print {
  .A5 {
    visibility: visible;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    border: none;
  }
  body> :not(.A5) {
    color: red;
    display: none;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<h1>
  Paper Print Test
</h1>
<input type="button" value="print" onclick="window.print()" />
<div class="js-container"><textarea class="A5" data-first="true">
  Article Text 
</textarea>
</div>

javascript – 如何在第一个textarea的内部文本超过一页时添加另一个textarea的更多相关文章

  1. 处理textarea中的换行和空格

    这篇文章主要介绍了处理textarea中的换行和空格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. javascript textarea支持图形编辑

    本来以为只有iframe支持编辑了,今天突然发现textarea也支持编辑 :( 是不是我太愚钝了? textarea不能用innerHTML来插入html,而用appendChild

  3. JavaScript动态调整TextArea高度的代码

    通过JavaScript根据TextArea的内容动态调整TextArea的高度,需要的朋友可以参考下。

  4. div实现自适应高度的textarea实现angular双向绑定

    本文主要介绍了div实现自适应高度的textarea,实现angular双向绑定的方法。具有一定的参考价值,下面跟着小编一起来看下吧

  5. 关于textarea提交的内容无法换行的解决办法

    本篇文章小编为大家介绍,关于textarea提交的内容无法换行的解决办法,有需要的朋友可以参考一下

  6. jQuery编写textarea输入字数限制代码

    这篇文章主要为大家详细介绍了jQuery编写textarea输入字数限制代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  7. 从textarea中获取数据之后按原样显示实现代码

    从textarea中获取数据,按原样显示在某些特殊的情况下还是比较使实用的,下面为大家分享下实现代码,感兴趣的朋友可以参考下,希望对你有所帮助

  8. Vue中textarea自适应高度方案的实现

    本文主要介绍了Vue中textarea自适应高度方案的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. 获取 textarea 标签第n行的文字的js代码

    获取 textarea 标签第n行的文字的实现代码,非常的不错,兼容了firefox.

  10. javascript textarea字数限制

    网页中经常会用到的一些字数限制要求,下面的代码应该可以帮你解决这个问题,下面的代码不论是text和textarea效果都是一样的。

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部