本文小编为大家详细介绍“js默认文本框粘贴事件怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“js默认文本框粘贴事件怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。怎么理解上述两个功能? 第一个解释: 比如说现在文本框有:染念真的很生气如果我们现在在真的后面粘贴不要
,变成染念真的不要很生气|拦截后的光标是在生气后面,但是我们经常使用发现,光标应该出现在不要的后面吧! 就像这样:染念真的不要|很生气第2个解释:染念真的不要很生气我们全选真的的同时粘贴求你
,拦截后会变成染念真的求你不要很生气|但默认应该是:染念求你|不要很生气针对第2个问题,我们应该先要获取默认的光标位置在何处,tc.selectionStart
是获取光标开始位置,tc.selectionEnd
是获取光标结束位置。 为什么这里我写了一个判断呢?因为默认时候,我们没有选中一块区域,就是把光标人为移动到某个位置(读到这里,光标在位置后面,现在人为移动到就是前面,这个例子可以理解不?),这个时候两个值是相等的。233|333^— ^1– – 4tc.selectionEnd=4,tc.selectionStart = 4如果相等,说明就是简单的定位tc.value = tc.value.substring(0,tc.selectionStart)+clipboardData+tc.value.substring(tc.selectionStart); tc.value.substring(0,tc.selectionStart)获取光标前的内容,tc.value.substring(tc.selectionStart)
是光标后的内容。 如果不相等,说明我们选中了一个区域(光标选中一块区域说明我们选中了一个区域),代码只需要在最后获取光标后的内容这的索引改成tc.selectionEnd|233333|^—– ^1—– 7tc.selectionEnd=7,tc.selectionStart = 1在获取光标位置之前,我们应该先使用tc.focus();
聚焦,使得光标回到文本框的默认位置(最后),这样才能获得位置。 针对第1个问题,我们就要把光标移动到粘贴的文本之后,我们需要计算位置。获得这个位置,一定要在tc.value重新赋值之前,因为这样的索引都没有改动。 const start = (tc.value.substring(0,tc.selectionStart)+clipboardData).length;
这个代码和上面解释重复,很简单,我就不解释了。最后处理完了,重新设置光标位置,tc.selectionEnd =tc.select免费云主机域名ionStart = start
,一定让selectionEnd和selectionStart相同,不然选中一个区域了。如果我们在value重新赋值之后获取(tc.value.substr(0,tc.selectionStart)+clipboardData).length
,大家注意到没,我们操作的是tc.value,value已经变了,这里的重新定位光标开始已经没有任何意义了!读到这里,这篇“js默认文本框粘贴事件怎么实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
相关推荐: PHP实现人人OAuth登录和API调用的方法是什么
这篇文章主要介绍“PHP实现人人OAuth登录和API调用的方法是什么”,在日常操作中,相信很多人在PHP实现人人OAuth登录和API调用的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP实现人人OAuth登录和…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。