介绍
progressive-punctuation-open
是一款基于 JavaScript 的 npm 包,能够在用户输入文本时自动给予排版提示,提高文本阅读体验。此包支持逐步添加逗号、句号、问号、感叹号等标点,让文本排版更加准确规范。
安装
使用 npm
命令进行安装:
npm install progressive-punctuation-open
使用方法
在需要使用的 HTML 页面中引入
progressive-punctuation-open
:<script src="path-to/progressive-punctuation-open.js"></script>
在需要应用该包的文本框对象上调用
apply
方法,如下:var textarea = document.getElementById('my-textarea'); progressivePunctuationOpen.apply(textarea);
实例
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- --------------- -- --------- ------------------------------------ ------- ------------------------------------------------------- ------- ------ --------- ---------------------------- -------- --- -------- - --------------------------------------- ------------------------------------------- --------- ------- -------
进阶
自定义规则
默认情况下,progressive-punctuation-open
会根据标点符号自动给予排版提示,用户可以通过自定义规则来进一步完善文本排版。
在调用 apply
方法时,可以传入一个回调函数作为参数,该回调函数会在包执行时被调用,用户可以在回调函数中进行一些自定义的操作。
注:回调函数会接受两个参数,第一个参数是当前输入的文本(字符串格式),第二个参数是上一次应用包后的文本(字符串格式)。
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- --------------- -- --------- ------------------------------------ ------- ------------------------------------------------------- ------- ------ --------- ---------------------------- -------- --- -------- - --------------------------------------- ------------------------------------------ -------- ------------- --------- - -- ----------------------------- - -------------- - -------- - ---- - --- --------- ------- -------
在上述示例代码中,当用户输入的文本以 'xxx' 结尾时,会在上一次应用包后的文本后添加一个逗号。
对特定元素应用包
在默认情况下,progressive-punctuation-open
会对页面上所有的 textarea 和 input[type="text"] 元素应用该包。如果用户需要对特定的元素应用该包,可以通过在元素上添加 data-ppo
属性来实现。
-- -------------------- ---- ------- --------- ----- ----- ---------- ------ ----- --------------- -- --------- ------------------------------------ ------- ------------------------------------------------------- ------- ------ --------- ---------------------------- ------ ----------- ------------- -------- -- -------- --- -------- - --------------------------------------- --- ----- - ------------------------------------ ------------------------------------------- ---------------------------------------- --------- ------- -------
在上述示例代码中,只有拥有 data-ppo
属性的 input 元素会应用该包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600567e481e8991b448e4128