在单个或多个文本区域和文本框中使用多个光标

9

我觉得我可能已经知道答案了,但是...

在单个文本框中是否可以有两个光标,或者同时聚焦于两个不同的文本框,使用户可以同时输入内容?

我知道你可以通过添加keydown事件监听器并使它们的值匹配来模拟这个功能,但我想要在两个字段中都能看到光标。

如果不行,有没有任何想法可以模拟这个功能?


如何模拟插入符号或其他内容? - raam86
3
为什么在一个文本框中需要两个插入符号? - Teemu
1
这是 Sublime Text 2 中最好的功能之一,我很想在Javascript中实现它,但从未找到解决方案... 这将是一个非常方便的工具。 - Anil
@JustAnil所说的... - lededje
不,你不能同时拥有两个插入符或聚焦元素。但是你可以创建自己的插入符,这就是这些Web应用程序正在做的事情。以下是如何创建类似终端的插入符的示例:http://shachi.prophp.org/demo.html,你可以使用CSS动画使其闪烁。 - skyline3000
显示剩余2条评论
3个回答

13
Ace编辑器支持多个光标/插入符号,就像Sublime Text一样: http://ajaxorg.github.io/ace/ 在该页面的实时演示中,使用Ctrl+单击(在OS X上为Cmd(⌘)+单击)即可获得多个光标,并开始输入!
您还可以选择一堆代码并使用Tab缩进一个制表符空格,或使用Shift+Tab取消缩进一个制表符空格。

优秀的插件!看起来它正好做到了提问者想要的。 - Patrick M
2
这是一个令人印象深刻的插件,我已经forked它,但它并不完全是我想要的。这个插件作为一个代码编辑器来说有一定的复杂度,而我只需要一个文本区域或输入框。如果没有人提出更好的建议,我会将这个答案标记为正确,因为我认为它会帮助大多数其他查看此问题的用户。 - lededje
@lededje 看起来它是开源的,所以你也许可以找到它是如何实现的? - barlop
@barlop 我花了几个小时查看代码,但仍然没有找到答案。我没有时间再继续查找了。 - lededje

2

看看 @Sly_cardinal 的答案,它可以完成你需要的所有事情,虽然有点“笨重”,但肯定是你能得到这样东西的唯一方式。它可通过一些工作进行自定义,但绝对是正确的答案。

+1 @Sly_cardinal - 这正是我一直在寻找的!


渲染文本区域由用户代理(浏览器)处理,我们可以控制样式、外观和感觉,但不幸的是不能控制功能 (无论如何都不能做到多个光标)

真糟糕.. 这将是惊人的!


-1

尝试

<html>
<body>
    <input id="edValue" type="text" onKeyPress="edValueKeyPress()" onKeyUp="edValueKeyPress()"><br>
    <span id="lblValue">The text box contains: </span>
        <input id="secvalue" type="text">
</body>

<script>
    function edValueKeyPress()
    {
        var edValue = document.getElementById("edValue");
        var s = edValue.value;

        var lblValue = document.getElementById("secvalue");
        lblValue.value = s;


    }
</script>    

</html>

我想这是你的要求


无效.. http://jsfiddle.net/jyXJr/ 这不是原帖提问的内容,他想要在同一个文本区域内使用“多重光标”。 - Anil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接