如题:在一个页面有多个<textarea>,在页面中点击某个<a>标签时,如何给指定的某个<textarea>插入文本。我本来的思路是得到控件焦点,然后判断是哪个控件,最后插入文本。可是如果我焦点定位于一个<textarea>,然后再点击<a>链接,这时候var act = document.activeElement.id;这个语句得到的焦点是<a>控件的Id,我想问的是如何得到刚才定位的<textarea>的Id呢?javascriptjqueryhtml

解决方案 »

  1.   

    那是不是要在这些文本框空间上 都要加上 focus事件?
      

  2.   

    兄弟 用过xhEditor控件没? 貌似触发不了focus事件,而普通的<textarea>控件没问题
      

  3.   

    1 首先,给textarea 和a 都编号 用id就行 比如 t1 t2和 a1 a2
    2 其次,比如我们要实现点击a1的时候 t1里面出文字。那么,给a1绑定一个事件。该事件效果是改变t1的文本。
      

  4.   

    我碰到和他一样的问题:http://bbs.csdn.net/topics/390357245
      

  5.   

    "Editor"带这个字样的一般会改了textarea,改成iframe编辑器,这个要去看xhEditor源代码才知道如何做了。
      

  6.   

    1  给一下代码吧,你看下是不是符合要求
    2  用一个全局的Array对象保存最后点击的textarea,当点击链接的时候,在里面显示点击链接的name
    js代码如下:(用了jquery,请在页面引入)
                    <script type="text/javascript">
    var focusObjects=new Array();//装载最后获取焦点的文本框
    $(function(){
    $("[name^='t']").focus(function(){
    focusObjects.push(this);
    if(focusObjects.length>1){
    focusObjects.shift();
    }
    });
    $("[name^='a']").click(function(){
    if(focusObjects.length<1){
    alert("请先选择文本框");
    }else{
    var lastTextArea=focusObjects.pop();
    focusObjects.push(lastTextArea);
    $(lastTextArea).val(this.name);
    }
    });
    });
    </script>html页面代码如下:
             <body>
    <textarea rows="20" cols="2" name="t1"></textarea>
    <textarea rows="20" cols="2" name="t2"></textarea><br/>
    <a href="#" name="a1">按钮1</a>
    <a href="#" name="a2">按钮2</a>
    </body>