我不明白为什么我无法获得正确的范围对象。我很难解释这个问题。
例如:我有五个div,每个div包含一个短语。逻辑上,如果我在其中一个div中触发mousedown事件,我可以获得事件目标。好的,这是基本的。
但是,如果我在mousedown事件上使用范围对象,则事件目标总是我已经点击但是range.startContainer指向前一个div;
查看 fiddle
1 LineLineLine
2 LineLineLineLineLine
3 LineLineLineLine
4 LineLineLine
5 LineLineLineLine
重现问题的步骤(见控制台):
控制台显示上一个点击的行
[*] 未定义,因为文档没有范围 但是,这是微不足道的,因为我可以在飞行中创建一个并将其注入文档中。
我可以推断出mousedown事件是在范围之前执行的..或者不是?