【问题标题】:How to appear cursor on textarea with JavaScript?如何使用 JavaScript 在 textarea 上显示光标?
【发布时间】:2015-12-11 20:01:29
【问题描述】:

我正在编写一个脚本,它将通过各种表单元素(单选框、复选框等)进行选项卡,而事实证明有点棘手的一个元素是 <textarea>

为了清楚起见,我想模仿点击 <textarea> 的行为,它为来自外部 JavaScript 文件(特别是 Angular 控制器)的用户键盘输入带来焦点和光标。

我的尝试

我试过了:

【问题讨论】:

  • I don't see why .focus and .click won't work. 你能在你的问题中添加一个演示吗?
  • 是的,我看到这些通常有效,但在我的情况下它们不起作用。也许我应该尝试更多地了解我的问题并回复您。
  • 可能文本区域没有加载到dom中,只有当元素存在时,焦点才会起作用。

标签: javascript jquery html angularjs textarea


【解决方案1】:

var area=document.getElementById('textarea');
area.value="hello from javascript";
did you try the autofocus attribute ?

  <textarea autofocus  type="textarea" id="textarea" rows="6" cols="70"></textarea>

【讨论】:

  • 自动对焦在硬编码到 html 时当然可以工作,但我想有条件地设置焦点。
  • @PeterWard 您可以使用一些 php 轻松做到这一点,您是否考虑过这种选择?
  • 我会在 30 点左右回到室内,然后我会看看,当你尝试 focus() 时,你是使用 ID 还是通过 dom 获取元素
【解决方案2】:

  
    var area=document.getElementById('textarea');
    area.focus();
    var counter=0;
    var string="Hi from focused area ";
    var strlength=string.length;
    
    window.setInterval(typeWord,300
     
);    

function typeWord(){

              area.value+=string[counter];
  counter++;
  if(counter==strlength){area.value+=" ";counter=0;}
   

};
      &lt;textarea   type="textarea" id="textarea" rows="6" cols="70"&gt;&lt;/textarea&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    相关资源
    最近更新 更多