使用javascript将光标隐藏在文本框中?

时间:2010-10-12 19:23:10

标签: javascript

如何使用JavaScript在asp.net文本框中隐藏光标?我不想在文本框中看到眨眼的东西。

2 个答案:

答案 0 :(得分:10)

不要这样做,你打破了用户的期望,光标是有原因的,当用户打字或点击删除,退格等...他们想要知道它会发生在哪里。

如果你想编辑一个文本框,然后让焦点离开,这是另一回事,只需关注另一个元素:

document.getElementById("otherElement").focus();

答案 1 :(得分:0)

这是你可以尝试的东西。

免责声明 - 正如其他人所提到的那样,听起来你正在走向无障碍噩梦。但是,您(或您的客户)仍然可能有理由想要这种行为。这是一个可怕的黑客,但它可能会给你想要的结果。

哈克

有两个文本框,一个用户从未看到但输入文本的真实文本框和一个显示文本的虚拟文本框。当用户单击虚拟文本框时,应该关注真实文本框。当用户编辑真实文本框的内容时,应该更新虚拟文本框。

实施例

在此处测试 - http://jsbin.com/ihobe4/edit

function makeCaretInvisible(textboxId) {

  var inputBox = document.getElementById(textboxId);

  var outputBox = inputBox.cloneNode(true);

  outputBox.id=outputBox.name='';

  outputBox.onclick=function(){
    inputBox.setSelectionRange(outputBox.selectionStart, outputBox.selectionEnd);
  };

  inputBox.onkeyup=function(){
    outputBox.value=inputBox.value;
  };

  inputBox.style.position='absolute';
  inputBox.style.top='-10000px';

  inputBox.parentElement.insertBefore(outputBox, inputBox);

}​