我正在尝试创建一个像Facebook状态更新一样具有满足感的div。那么我的意思是当用户写完@。
时我想显示一个自动完成框你会怎么做?目前我只是在玩按键并检查键码是否为64.某种方式可行,但它不会验证alfa之前是否有空格,或者如果用户没有聚焦该框,则再次聚焦它。
有什么想法吗?或者你知道任何类似的插件吗?
TNX
答案 0 :(得分:0)
我也许可以用按键来做。
但是我们需要检查光标位置以检查'@'之前的字符。
这是我在http://javascript.nwbox.com/cursor_position/cursor.js
中使用的功能function getSelectionStart(o) {
if (o.createTextRange) {
var r = document.selection.createRange().duplicate();
r.moveEnd('character', o.value.length);
if (r.text == '') return o.value.length
return o.value.lastIndexOf(r.text);
} else {
return o.selectionStart;
}
}
然后用jquery我写了这个keypress回调函数:
txt.keypress(function(event) {
if (event.which == 64) {
var index = getSelectionStart(this)
var prevChar = txt.val().substring(index - 1, index);
// now you can check if the previous char was a space
}
});