Javascript 如何使输入字段显示实时标记
我想知道如何创建一个输入文本字段,就像facebook或twitter中的一个字段,其中文本微笑被转换为图形,并且能够添加额外的标记 我还问过其他问题,如Javascript 如何使输入字段显示实时标记,javascript,html,css,textbox,Javascript,Html,Css,Textbox,我想知道如何创建一个输入文本字段,就像facebook或twitter中的一个字段,其中文本微笑被转换为图形,并且能够添加额外的标记 我还问过其他问题,如 所以我知道如何使用contenteditable创建一个可编辑的div,这不是我想知道的 我通过chrome查看了facebook的评论框,它显示他们使用了一个不可见的输入框和一个div来显示输出 我删除了facebook类,并添加了一些我自己的风格来查看输入框 所以我想知道的是 如何隐藏输入,以及用户输入的内容显示在div中 当用户关注
所以我知道如何使用
contenteditable
创建一个可编辑的div,这不是我想知道的
我通过chrome查看了facebook的评论框,它显示他们使用了一个不可见的输入框和一个div
来显示输出
我删除了facebook类,并添加了一些我自己的风格来查看输入框
所以我想知道的是
如何隐藏输入
,以及用户输入的内容显示在div中
当用户关注div
我想知道如何使用输入[type=text]
和div
一般来说,如果解释添加散列标记方法将非常有用。谢谢 您可以使用jQuery的按键事件进行输入,并且可以更新任何div或隐藏的输入元素
$(“#目标”)。按键(功能(事件){
if(event.which==13){
event.preventDefault();
}
$(“.div”).html($(this.val());//您可以使用它
$(“.input”).val($(this.val());
});
我可以通过
- 使用
- 添加CSS使div看起来像输入字段(
.falseInput
)
- 当用户选择输入时,隐藏的输入被聚焦
- 当使用keyup事件时,会触发JavaScript函数
HTML
JavaScript
//此示例用于添加额外标记以生成哈希标记
document.getElementById(“输入”).addEventListner(“键控”,进程,false);
document.querySelector(“.falseInput”).addEventListner(“单击”,函数(e){
document.getElementById(“输入”).focus();
},假);
功能流程(e){
//用于处理哈希标记
var标记={hash:51,space:32}
,hashtags=false
,input_feild=document.querySelector(“.false输入”);
开关(e.which){
case tag.hashtag:
if(e.shiftKey==true&&e.keyCode==tag.hash){
输入_field.appendChild(this.value+“”);
}
hashtags=true;
打破
case tag.space:
if(hashtags){
输入_field.appendChild(this.value+“”);
hashtags=false;
}
打破
}
}
我对反向工程Facebook评论框感兴趣!你知道他们如何将文字微笑转换成图形并制作哈希标签吗。我想要原始javascriptyou不想使用jQuery?通过jQuery,您可以将文本笑脸转换为图形访问此url:如果您不想使用jQuery,请告诉我,我会尽力帮助您我已经添加了一个用于键控的JavaScript,请检查是否有效!
<body>
<input id="Input" type="text" name="Input" />
<div class="falseInput"></div>
</body>
/*to hide the input field use Opacity, if
display:none
is used the input cannot be focused*/
input{opacity: 0; }
.falseInput{
//css to make div look like input feild
// by modifying the :focus also changing styles
}
//This example is used inorder to add extra markup for makinng a hashtags
document.getElementById("Input").addEventListner("keyup", process, false);
document.querySelector(".falseInput").addEventListner("click", function(e){
document.getElementById("Input").focus();
}, false);
function process(e){
//for processing hashtags
var tag = { hash: 51, space:32 }
, hashtags = false
,input_feild = document.querySelector(".falseInput");
switch (e.which) {
case tag.hashtag:
if(e.shiftKey === true && e.keyCode == tag.hash){
input_field.appendChild(this.value + "<span class='highlight'>");
}
hashtags = true;
break;
case tag.space:
if(hashtags) {
input_field.appendChild(this.value + "</span>");
hashtags = false;
}
break;
}
}