我觉得@人功能最核心的地方就是获取光标位置,所以我现在的做法是watch光标位置,然后判断光标左边的字符是不是'@',如果是的话就根据光标位置把textarea里面的字符分成两部分,再获取用户输入的字符,筛选数据。最后把'@'前面的内容,筛选的用户,'@'后面的内容这三部分拼接起来。
我按照这样的思路把功能做出来了,但在写单元测试(jasmine)的时候遇到了个问题。
textarea.focus().val('12345');
console.log(textarea[0].selectionStart)
我用这样的语句,也找过其他设置光标位置的方法,但光标位置总是返回0,这样写不了测试。。
是不是我这种方法不好写测试?
有木有其他思路?
顺便说下,获取光标位置我是用了caret.js。
我按照这样的思路把功能做出来了,但在写单元测试(jasmine)的时候遇到了个问题。
textarea.focus().val('12345');
console.log(textarea[0].selectionStart)
我用这样的语句,也找过其他设置光标位置的方法,但光标位置总是返回0,这样写不了测试。。
是不是我这种方法不好写测试?
有木有其他思路?
顺便说下,获取光标位置我是用了caret.js。