【发布时间】:2014-09-19 13:59:30
【问题描述】:
我创建了一个看起来像虚拟文本区域的 div,当用户单击它时,我的代码会创建一个没有边框和轮廓的输入元素,以便用户感觉他正在输入文本区域。在那个输入元素上,我给他们自动完成,当用户选择一个选项时,元素被添加到文本区域。几乎感觉就像用户正在输入文本区域本身。
但是,我还想让用户在文本区域中来回切换,以便他们可以编辑或删除他们之前添加的元素。按箭头键,我可以在元素之前或之后移动输入框。但我也想让用户点击文本区域中的任意位置并将输入元素放在那里,以便用户可以在那里输入。
底线,在点击文本区域时,我想检测用户点击了哪个元素之前。谢谢。
更新: 这是文本区域的快照,其中包含一些元素。
创建输入元素的代码是这样的:
$(".textarea").click(function(){
if($(this).find(".placeholder").length>0) $(this).find(".placeholder").remove();
if($(this).find(".element-input").length>0){
$(this).find(".element-input").focus();
}else{
var input=$("<input class='element-input' name='element-input'/>");
$(this).append(input);
input.focus();
}
});
每个输入元素都有一个类elm。当用户在 2 个元素之间单击时,我想检测用户单击了哪个元素之前。
【问题讨论】:
-
一些代码可以帮助我们帮助你;)
-
稍等,我将添加文本区域的快照和代码sn-p。
-
那你的代码有什么问题?
-
阅读我的问题?它是一个线性文本框,您只能在末尾添加元素或从末尾删除。像栈一样。我想让用户能够到达文本区域中的任何位置并从该位置进行编辑。
标签: javascript jquery html css