【发布时间】:2013-02-06 00:06:32
【问题描述】:
我试图模仿 Twitter 在撰写推文时如何突出显示用户。
我正在使用mentionsInput jQuery plugin。我想更改@screen_name 的颜色,而不是像插件默认那样更改背景颜色。
有没有办法为@screen_name 着色并在末尾仍然显示闪烁的光标?
我能够做到,但我需要隐藏 textarea 文本,这样它就不会使上面的 CSS 样式文本变暗......但是它隐藏了我不想做的闪烁光标。
查看我的 jsFiddle 显示问题:http://jsfiddle.net/thhbe/1/
或者看看...
必需:jQuery、Underscore.js 和插件。
HTML:
<div><textarea id="tweet_textarea" class="mention textarea compose_text"></textarea></div>
JS:
/*
* Add handlers to HTML elements and set options....
*/
$('textarea.mention').mentionsInput({
onDataRequest:function (mode, query, callback) {
var data = [
{ id:1, name:'Kenneth Auchenberg', 'avatar':'http://goo.gl/SUCm1', 'type':'contact' },
{ id:2, name:'Jon Froda', 'avatar':'http://goo.gl/SUCm1', 'type':'contact' },
{ id:3, name:'Anders Pollas', 'avatar':'http://goo.gl/SUCm1', 'type':'contact' }
];
data = _.filter(data, function(item) { return item.name.toLowerCase().indexOf(query.toLowerCase()) > -1 });
callback.call(this, data);
}
});
【问题讨论】:
-
我想我需要知道你不只是使用
contenteditable的原因。 -
我刚刚开始研究...到目前为止,我无法让该插件与
contenteditable一起使用。如果我只是自己做(从头开始编写所有代码),由于难以获得光标位置,似乎需要很长时间才能让它在 IE8+ 上工作......但我现在正在走这条路. -
我花了一些时间尝试不同的东西,最后说服自己唯一的选择是编写自己的插入符号。这个问题stackoverflow.com/questions/8408041/… 有一个文本区域的完整工作代码。
-
@Plynx 如果您通过示例或指向如何使用
contenteditable的链接回答这个问题,我会接受这个作为我的答案。
标签: javascript jquery css twitter