javascript - 使用过滤器在屏幕上写入一个单词的数组 - Javascript
问题描述
我有一个数组,里面有两个可点击的选项来完成一个句子(这个数组我通过一个 innerHTML 放在屏幕上)。这些选项在 [] 内,我只需要在屏幕上键入直到 [] 结束,将第二个选项留在屏幕上继续选择,始终与短语连接。
(这一切都必须在“showArrayConsole”中完成,请不要触摸选择jquery)
我已经尝试将数组分开,将每个选项留在某个数组中,但我不能这样做。都是在一个数组里面,里面可以有几个词组,无数个选项。
代码:
var exame = new Array("Exame realizado no ombro ",
"[",
" esquerdo ",
"direito ",
"]",
", foi ",
"[",
" acima ",
"abaixo ",
"]."
);
document.getElementById("loop").innerHTML = exame.join("")
function showArrayConsole(s) {
document.getElementById("loop").innerHTML = (exame[0] + s);
}
$("p").click(function(e) {
s = window.getSelection();
console.log(s);
var range = s.getRangeAt(0);
console.log(range);
var node = s.anchorNode;
while (range.toString().indexOf(' ') != 0) {
range.setStart(node, (range.startOffset - 1));
}
range.setStart(node, range.startOffset + 1);
do {
range.setEnd(node, range.endOffset + 1);
} while (range.toString().indexOf(' ') == -1 && range.toString().trim() != '');
var str = range.toString().trim();
s.removeAllRanges();
alert(str);
showArrayConsole(str);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="loop"></p>
解决方案
推荐阅读
- json - 将 JSON 数据发布到 Dotnet Core webapi
- php - Guzzle getTransferTime() 究竟测量了什么?
- asp.net - 客户端 cookie 滑动时刷新 IdentityServer cookie
- gnu-make - make 变量的第二次扩展
- elasticsearch - ElasticSearch:配置 delete_by_query、update_by_query 以重试 version_conflicts
- angular - 从@Input 变量分配的变量也会改变分配的变量
- javascript - 使用 jquery 循环遍历表列以推送到 Google App Script
- ios - 从 tableview Swift 展开时未找到展开 segue
- php - 将 MS SQL 数据库与 MySQL 数据库同步
- javascript - 试图在点击时使时钟功能