出于测试目的,我需要以编程方式更改输入字段中的光标位置(或者仅以某种方式模拟selectionStart属性)。我注意到当我得到节点元素时,我可以访问它的DOM方法,如setSelectionRange,setAttribute等。但是当我这样做时:
<div class="container">
<div class="row">
<form class="form-inline">
<input type="text" class="form-control" id="exampleInput1" placeholder="">
<span>-</span>
<input type="text" class="form-control" id="exampleInput2" placeholder="">
<span>-</span>
<input type="text" class="form-control" id="exampleInput3" placeholder="">
</form>
</div>
</div>
触发了setSelectionRange,但没有任何效果。
为什么它不起作用?还有其他方法可以更改let component = mount(<Form/>);
expect(component.find('#postbackURL').node.selectionStart).toBe(0); // true
component.find('#postbackURL').node.setSelectionRange(2, 2);
expect(component.find('#postbackURL').node.selectionStart).toBe(2); // false, still 0
属性吗?