html中,可以实现文本框不能键盘输入,可以粘贴值这个功能吗?

html中,可以实现文本框不能键盘输入,可以粘贴值这个功能吗?,第1张

首先想到的就是禁用文本框的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

}

}

完整代码如下:

<html>

<head>

<title>MyHtml.html</title>

<script type="text/javascript">

function contentCopy(){

//获取到对象

var obj = document.getElementById("contentId")

//选择文本框中得所以内容

obj.select()

//执行复制功能

document.execCommand("copy")

}

</script>

</head>

<body>

<textarea cols=50 rows=5 name="content" id="contentId">测试被复制的内容</textarea>

<input type="button" name="allCopy" value="全部复制"

onClick="contentCopy()" />

</body>

</html>

希望帮助您! 还望采纳!!


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

原文地址:https://54852.com/zaji/7397342.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存