我有两个指令。第一个调用restricted-text
监视ngModel会更改并将当前值替换为旧值,如果新值不符合给定的正则表达式。放在输入上时效果非常好。
第二个是名为input-editable
的指令。这是一个跨度[可争议]。它也很有效。
然后,我们在第二个上插入第一个:
<input-editable ng-model="lol" restricted-text="^[a-z]+$"></input-editable>
它失败了...... 当我输入一个不允许的字符时,那么规范的内容就会很好地改变。但是!遗憾回到了跨度的开始。我希望插入符号停留在同一个地方,或者最坏的情况,就像输入一样。我用getSelection和createRange尝试过很多东西,我得到的就是插入位置。当我调用setStart时,光标不会移动。
看看here