我想在内容可编辑div中选择文字。我想提供一个起始索引和一个结束索引。
例如,如果我有一个div:
class bar
{
public:
enum class foo { a, b };
foo foo() const { return m_foo; }
void set_foo(enum foo new_foo) { m_foo = new_foo; }
private:
enum foo m_foo;
};
我喜欢做类似" selectText('#main',6,10)"它会选择将焦点设置为main并选择" World"。
但是我在网上看到的所有例子都假设容器div有子节点。但是我没有孩子。只是div中的文字。
这是我到目前为止所做的尝试无济于事:
<div id="main" contenteditable="true">
Hello World
</div>
但我明白了: 未捕获的IndexSizeError:无法执行&#39; setStart&#39;在&#39;范围&#39;:偏移6处没有孩子。
我的jsfiddle: http://jsfiddle.net/foreyez/h4bL5u4g/
答案 0 :(得分:2)
但是我没有孩子。只是div中的文字。
div 中的文字是一个孩子 - 它是一个文本节点。那就是你想要的目标。
您还需要修剪其ArrayList<Tile> Tile = new ArrayList<Tile>();
以获得正确的偏移量。否则,将包括前导空格。
这似乎可以做你想要的:
ArrayList<Tile> tile = new ArrayList<Tile>();
&#13;
from tkinter import *
root = Tk()
colors = ('blue', 'green', 'orange', 'red', 'yellow', 'white', 'blue')
cd = dict(zip(colors, colors[1:]))
#print(cd)
def changeColour(button):
button['bg'] = cd[button['bg']]
LT = Button(root, width=16, height=8, bg = 'white',
command=lambda: changeColour(LT))
LT.place(x=10, y=10)
LM = Button(root, width=16, height=8, bg = 'white',
command=lambda: changeColour(LM))
LM.place(x=10, y=150)
LB = Button(root, width=16, height=8, bg = 'white',
command=lambda: changeColour(LB))
LB.place(x=10, y=290)
root.mainloop()
&#13;