html 怎样让我复制的文本和粘贴的时候一样(就是有样式和标签的那种)

html 怎样让我复制的文本和粘贴的时候一样(就是有样式和标签的那种),第1张

我看你做的这个就是一个text框吧?这text本身就无格式的,和你的.txt文件一样。

你不需要自己做,你调用(加载)一个编辑器就可以了呀!很多网站后台的编辑器都是支持格式的,在后台,我们还要自己去格式呢!

哦,粘贴后不可能说样式一样的哈,只是说带了标签格式。

就是把提供给你的 HTML 代码复制粘贴到你制作网页的编辑代码中

这样你制作的网页就会显示出你附加了这段代码的图形效果。

比如说你制作网页是用的某中制作工具,Dreamweaver

在你设计网页模板的时候,这个软件就会在HTML页面内自动写出你设置的代码,你可以不用懂HTML(超文本标记语言)。把获得的代码(如果它提供给你的时候有提示用法就照做)粘贴到你的HTML页代码里。

首先想到的就是禁用文本框的onkeydown事件了:

<input type="text" onkeydown="return false">

这样文本框不能输入任何字符,可以用鼠标右键菜单的“粘贴”来粘贴复制的字符,但这样做有一个缺点:粘贴的快捷键也被禁用了,无法使用Ctrl+V来粘贴值。所以我们改造一下代码:

<input type="text" id="demo"> document.getElementById('demo').onkeydown = function(event) {

var evt = event || window.event

if (evt.ctrlKey && evt.keyCode == 86) {  // ctrl + v

console.log('粘贴快捷键按下')

} else {

return false

}

}

至此以上代码已基本满足预期要求,但你会发现粘贴进去的内容没办法删除(因为backspace和delete键也被禁用了),所以最终的代码应该是这样的:

document.getElementById('demo').onkeydown = function(event) {

var evt = event || window.event

console.log(evt.keyCode)

if (evt.ctrlKey && evt.keyCode == 86) {  // ctrl + v

console.log('粘贴快捷键按下')

} else if (evt.keyCode == 8 || evt.keyCode == 46) {  // backspace和delete键

} else {

return false

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5910047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存