【发布时间】:2012-03-04 11:59:13
【问题描述】:
在 facebook 状态框中,如果您输入“@”,则会出现朋友姓名列表。我正在尝试实现这样的状态框。
但问题是:
在输入“@”时,“div”的位置应该在哪里以及如何显示列表?我就是想不通。
我查看了this SOF 的问题,但实际上并没有讨论这个问题。
有人尽可能地阐明它吗?
我的选择是 jquery。
【问题讨论】:
标签: javascript jquery
在 facebook 状态框中,如果您输入“@”,则会出现朋友姓名列表。我正在尝试实现这样的状态框。
但问题是:
在输入“@”时,“div”的位置应该在哪里以及如何显示列表?我就是想不通。
我查看了this SOF 的问题,但实际上并没有讨论这个问题。
有人尽可能地阐明它吗?
我的选择是 jquery。
【问题讨论】:
标签: javascript jquery
快速浏览一下 facebook,似乎有一个 <div> 标记,它在文本内容旁边呈现突出显示的内容。
文本由<textarea> 元素上的onKeyUp 事件一次捕获一个键击(透明并覆盖在具有可见内容的div 顶部)并转置到<div> 元素中。在检查按键事件时,只需检查按键是否为“@”并触发菜单事件。
【讨论】:
我确定 Facebook 使用带有 contenteditable 的元素,因为超链接在您键入时会显示为内联。
或者,如果您不想格式化名称,您可以创建一个具有完全相同字体 CSS 属性的新元素,测量偏移量并使下拉元素出现在与 textarea 相同的偏移量处。
【讨论】: