gpt4 book ai didi

javascript - 如何编写允许不可编辑文本框的 JavaScript 函数?

转载 作者:行者123 更新时间:2023-11-28 16:28:41 25 4
gpt4 key购买 nike

我需要一个输入文本框,我可以在其中单击并且光标开始闪烁,但用户无法更改其中的任何文本。

我尝试使用“只读”或“禁用”属性,但它们不允许光标位于文本框内。因此,我正在考虑一种在普通文本框上用 JavaScript 实现的解决方案。是否有一个插件已经可以做到这一点?我该如何实现这个?

编辑:感谢您的所有答案,但我想使文本区域/输入类型文本不可编辑但同时可选择。在文本框中按 Ctrl + A 不起作用。是否可以获取更改后的值和旧值并进行比较,如果值不同则返回 false,但在所有其他情况下返回 true,以便 Ctrl + AShift + end 等组合有效吗?

最佳答案

类似这样的事情:

<textarea onkeydown="javascript:return false;"></textarea>

就可以了。 (jsfiddle)

如果您愿意,您也可以在运行时执行此操作:

<textarea class="readonly"></textarea>

$(".readonly").keydown(function() false);

onkeydown 回调捕获击键事件并使用 return false; 取消它们。

根据您想要执行的操作,您可能希望阻止其他类型的事件,因为例如仍然可以使用鼠标更改内容。

您的回调函数可以根据击键类型接受或取消事件。例如,仅启用 ctrl-a 和 ctrl-c(使用 jQuery):

function keydown(e) {
if(!e.ctrlKey) return false; // Cancel non ctrl-modified keystrokes
if(e.keyCode == 65) return true;// 65 = 'a'
if(e.keyCode == 67) return true;// 67 = 'c'
return false;
}

关于javascript - 如何编写允许不可编辑文本框的 JavaScript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com