기본 단계
- 은 너무 그것을 숨길 사업부와 스타일로 텍스트 상자를 넣습니다.
- div를 텍스트 상자처럼 보이게하십시오.
- div의 onClick 처리기에서 숨겨진 텍스트 상자에 입력 포커스를 설정하십시오.
- 숨겨진 텍스트 상자의 onKeyUp 이벤트를 처리하여 텍스트를 캡처하고, 필요한 경우 형식을 지정하고 div의 innerHtml을 변경합니다.
아주 간단합니다. 나는 당신에게 포맷터를 쓰도록 맡길 것이지만 기본적으로 세미 - 실례 (Semi-Working-Example)에 따라 splitString을 구분 기호로 사용합니다.
간단한 개요
<html>
<head>
<script language="javascript" type="text/javascript">
function focusHiddenInput()
{
var txt = document.getElementById("txtHidden");
txt.focus();
}
function formatInputAndDumpToDiv()
{
alert('Up to you how to format');
}
</script>
</head>
<body>
<div onclick="focusHiddenInput();">
Some label here followed by a divved textbox:
<input id="txtHidden" style="width:0px;" onKeyPress="formatInputAndDumpToDiv()" type="text">
</div>
</body>
</html>
세미 작동 예
당신은 여전히 태그 삭제/편집/백 스페이스/등을 통해 키보드를 설명하기 위해 클릭 핸들러를 확장 할 필요가 .... 또는 클릭 이벤트를 사용하여 다른 컨텍스트 메뉴 div를 팝업 할 수 있습니다. 그러나 아래의 코드에서 확인 된 태그와 스페이서 ID가 매우 용이해야한다 :
<html>
<head>
<script language="javascript" type="text/javascript">
var myTags=null;
function init()
{
document.getElementById("txtHidden").onkeyup= runFormatter;
}
function focusHiddenInput()
{
document.getElementById("txtHidden").focus();
}
function runFormatter()
{
var txt = document.getElementById("txtHidden");
var txtdiv = document.getElementById("txtBoxDiv");
txtdiv.innerHTML = "";
formatText(txt.value, txtdiv);
}
function formatText(tagText, divTextBox)
{
var tagString="";
var newTag;
var newSpace;
myTags = tagText.split(' ');
for(i=0;i<myTags.length;i++) {
newTag = document.createElement("span");
newTag.setAttribute("id", "tagId_" + i);
newTag.setAttribute("title", myTags[i]);
newTag.setAttribute("innerText", myTags[i]);
if ((i % 2)==0) {
newTag.style.backgroundColor='#eee999';
}
else
{
newTag.style.backgroundColor='#ccceee';
}
divTextBox.appendChild(newTag);
newTag.onclick = function(){tagClickedHandler(this);}
newSpace = document.createElement("span");
newSpace.setAttribute("id", "spId_" + i);
newSpace.setAttribute("innerText", " ");
divTextBox.appendChild(newSpace);
newSpace.onclick = function(){spaceClickedHandler(this);}
}
}
function tagClickedHandler(tag)
{
alert('You clicked a tag:' + tag.title);
}
function spaceClickedHandler(spacer)
{
alert('You clicked a spacer');
}
window.onload=init;
</script>
</head>
<body>
<div id="txtBoxDivContainer">
Enter tags below (Click and Type):<div id="txtBoxDiv" style="border: solid 1px #cccccc; height:20px;width:400px;" onclick="focusHiddenInput();"></div>
<input id="txtHidden" style="width:0px;" type="text">
</div>
</body>
</html>
커서
당신은 (지원 확인)하거나 단지 발전하고 필요에 따라 숨길 점멸을 사용하여 커서를 CSS 수 애니메이션 GIF.
예, 그럴 수 있습니다 :) –