gpt4 book ai didi

javascript - 仅一行文本字段的代码镜像?

转载 作者:可可西里 更新时间:2023-11-01 02:36:31 24 4
gpt4 key购买 nike

我有一个单行文本框。 (输入类型='文本')

我没有文本区域。

此文本字段允许用户在简单的 DSL 中输入小字符串。为了让您了解它们看起来像这样:

  • 从米兰到伦敦
  • 从意大利(罗马,佛罗伦萨)到英国

我想用 codemirror 替换这个文本字段

我的问题是:

  • 对一行文本区域使用代码镜像是个好主意吗?
  • 有人做过吗?
  • 是否有任何其他方法可以使文本字段更加“丰富多彩”?

谢谢,

最佳答案

好吧,有一种方法可以使用 CodeMirror 的丰富功能来制作单行编辑器。首先,您必须添加一个功能齐全的 CodeMirror 对象(使用文本区域)。

假设您有 var cm = CodeMirror(...)。 (使用 value: "")。然后做

cm.setSize(200, cm.defaultTextHeight() + 2 * 4);
// 200 is the preferable width of text field in pixels,
// 4 is default CM padding (which depends on the theme you're using)

// now disallow adding newlines in the following simple way
cm.on("beforeChange", function(instance, change) {
var newtext = change.text.join("").replace(/\n/g, ""); // remove ALL \n !
change.update(change.from, change.to, [newtext]);
return true;
});

// and then hide ugly horizontal scrollbar
cm.on("change", function(instance, change) {
$(".CodeMirror-hscrollbar").css('display', 'none');
// (!) this code is using jQuery and the selector is quite imperfect if
// you're using more than one CodeMirror on your page. you're free to
// change it appealing to your page structure.
});

// the following line fixes a bug I've encountered in CodeMirror 3.1
$(".CodeMirror-scroll").css('overflow', 'hidden');
// jQuery again! be careful with selector or move this to .css file

这对我来说很好。

关于javascript - 仅一行文本字段的代码镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026285/

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