onkeyup<textarea onclick=set() onkeyup=set() name="know_base_content" cols="60" rows="10" ID="Textarea1">abc[defg]hijksasasa</textarea>

解决方案 »

  1.   

    37 向左,39 向右以下是代码
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <html lang="zh">
    <head>
    <title>引用知识测试</title>
    <script language="JavaScript">
    function quote()
    {
    var targeturl="publicKnowBaseList.htm";
    newwin=window.open('', 'popupnav', 'width=800,height=300,resizable=0,scrollbars=1');
    if (document.all){
    newwin.moveTo(0,0)}
    newwin.location=targeturl
    }
    function set() 

    var rng = event.srcElement.createTextRange(); 
    rng.moveToPoint(event.x,event.y); 
    rng.moveStart("character",-event.srcElement.value.length) alert(rng.text.length);

    function keypres()
    {//37向左  39 向右
    if(window.event.keyCode==37) || (window.event.keyCode==39)
    {
    var rng = event.srcElement.createTextRange(); 
    rng.moveToPoint(event.x,event.y); 
    rng.moveStart("character",-event.srcElement.value.length) 

    alert(rng.text.length);

    }
    }</script> 
     </head>
    <br><br><br>
    <body>
    <center>
      <tr class="funcBar"><td width=100%></td></tr>
      <tr class="trLine">
    <td width=100%></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>
    <form action="#" method="get">  
    <table>
    <tr><td> <table width="588" border="1" cellspacing="0" cellpadding="0" id="tab">
     <tr>
     <td align="right" colspan="2">
     </td>
     </tr>
     <tr>
        <td align="center" class="tdListdata1">标题:</td>
        <td><input type="text" name="know_base_title">
      </td>
      </tr>
      <tr>
        <td align="center" class="tdListdata1">内容:</td>
        <td colspan="1">
        <textarea onclick=set() name="know_base_content" onKeyPress="keypres()" cols="60" rows="10" >abc[defg]hijksasasa</textarea>
        </td>
      </tr>
    </table>
    </td></tr></table>
    <br>
    <div align="center">
      <input type="button" value="提交" />
      <input type="reset" value="清除" />
      <input type="button" value="引用" onclick="javascript:quote()"/>
    </div>
     </table>
    </form>
    </body>
    </html>
      

  2.   

    hbjmdx008(每天都要来csdn) 我拿你写的作测试了。没有成功,移动键盘的左右键的时候alert()并没有弹出任何对话。
       //这是我现在加如你的代码并修改后的程序。请你看一下能帮我解答一下吗?谢谢
      还有我在textarea文本域里面有两个事件 这样可以执行吗?<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <html lang="zh">
    <head>
    <title>引用知识测试</title>
    <script language="JavaScript">
    function quote()
    {
    var targeturl="publicKnowBaseList.htm";
    newwin=window.open('', 'popupnav', 'width=800,height=300,resizable=0,scrollbars=1');
    if (document.all){
    newwin.moveTo(0,0);
    }
    newwin.location=targeturl;
    }
    function set() 

    var rng = event.srcElement.createTextRange(); 
    rng.moveToPoint(event.x,event.y); 
    rng.moveStart("character",-event.srcElement.value.length)  alert(rng.text.length);
    }
    function delStr(){
        var str = document.getElementsByName("know_base_content").item(0).value;
        if((str.substring(str.length-1,str.length)=="]")&&(str.substring(str.length-1,str.length))=="["){
         if(confirm('引用是一个整体,要删除就一起被删除!!')==true){
         //这里怎么把他当作整体呢?要删除  
      //目的是当按BackSpace(删除键)的时候要删除这个符号[...]之间的内容时候,不是按一下删除一个而是把他看成整体一起删除!!
           alert("确认删除!");
         }else{     
           
           alert("取消删除!");
         }    
       
        }    
    }
    function onkeypress(){//37向左  39 向右 if((window.event.keyCode==37)||(window.event.keyCode==39)){
    var rng = event.srcElement.createTextRange(); 
    rng.moveToPoint(event.x,event.y); 
    rng.moveStart("character",-event.srcElement.value.length) 

    alert(rng.text.length);
    }
    }</script> </head>
    <br><br><br>
    <body>
    <center>
      <tr class="funcBar"><td width=100%></td></tr>
      <tr class="trLine">
    <td width=100%></td>
    </tr>
    <tr">
    <td></td>
    </tr>
    </table>
    <form action="#" method="get">  
    <table>
    <tr><td> <table width="588" border="1" cellspacing="0" cellpadding="0" id="tab">
     <tr>
     <td align="right" colspan="2">
     </td>
     </tr>
     <tr>
        <td align="center" class="tdListdata1">标题:</td>
        <td><input type="text" name="know_base_title">
      </td>
      </tr>
      <tr>
        <td align="center" class="tdListdata1">内容:</td>
        <td colspan="1">
        <textarea onclick="set()" onKeyDown="delStr()" onKeyPress="onkeypress()" name="know_base_content" cols="60"  rows="10" >
    相见时[难别]亦难,东风[无力百花]残。春[蚕到死丝方尽,蜡]炬成灰泪始干。晓镜淡愁[云既改。心忧]应约月光汉,蓬莱[此去]无多路,青鸟[殷勤为]探看。</textarea>
        </td>
      </tr>
    </table>
    </td></tr></table>
    </center>
    <br>
    <div align="center">
      <input type="button" value="提交" />
      <input type="reset" value="清除" />
      <input type="button" value="引用" onclick="javascript:quote()" id="disButton"/>
    </div>
     </table>
    </form>
    </body>
    </html>
      

  3.   

    这个程序为什么执行不了呢?请各位帮忙一下。很着急。还有怎么样才可以把字符串
    str = asas[asas]asas[asa]aas 中的中括号所围的内容看成一个整体。当光标移动到“]”后面的时候按Backspace(删除键)不是删除一个字符而是删除连同中括号中的所有内容
    例如:
       删除前  asas[asas]asas[asa] 光标在末尾 只按一下Backspace键就把[asa]删除
       删除后  asas[asas]asas      光标在末尾
    这个程序怎么设计请高手指点。小弟,谢谢
      

  4.   

    不好意思,搞错了,只能得到鼠标的位置。
    以下在IE6 WIN2003 下测试过。
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <html lang="zh">
    <head>
    <title>引用知识测试</title>
    <script language="JavaScript">
    function quote()
    {
    var targeturl="publicKnowBaseList.htm";
    newwin=window.open('', 'popupnav', 'width=800,height=300,resizable=0,scrollbars=1');
    if (document.all){
    newwin.moveTo(0,0)}
    newwin.location=targeturl
    }
    function set() 

    var rng = event.srcElement.createTextRange(); 
    rng.moveToPoint(event.x,event.y); 
    rng.moveStart("character",-event.srcElement.value.length) 
    document.getElementById("ddd").value=rng.text.length;} 
    function keypres()
    {//37向左  39 向右
    if(window.event.keyCode==37 ||window.event.keyCode==39)
    {
    var rng = event.srcElement.createTextRange(); 
    rng.moveToPoint(event.x,event.y); 
    rng.moveStart("character",-event.srcElement.value.length) 
    document.getElementById("ddd").value=rng.text.length;
    //alert(rng.text.length);

    }
    }</script> 
     </head>
    <br><br><br>
    <body>
    <center>
      <tr class="funcBar"><td width=100%></td></tr>
      <tr class="trLine">
    <td width=100%></td>
    </tr>
    <tr>
    <td></td>
    </tr>
    </table>
    <form action="#" method="get">  
    <table>
    <tr><td> <table width="588" border="1" cellspacing="0" cellpadding="0" id="tab">
     <tr>
     <td align="right" colspan="2">
     </td>
     </tr>
     <tr>
        <td align="center" class="tdListdata1">标题:</td>
        <td><input type="text" name="know_base_title">
      </td>
      </tr>
      <tr>
        <td align="center" class="tdListdata1">内容:</td>
        <td colspan="1">
        <textarea onclick=set() name="know_base_content" onKeyUp="keypres()"  cols="60" rows="10" >abc[defg]hijksasasa</textarea>
        </td>
      </tr>
    </table>
    </td></tr></table>
    <input name="ddd" type="text" id="ddd">
    鼠标位置<br>
    <div align="center">
      <input type="button" value="提交" />
      <input type="reset" value="清除" />
      <input type="button" value="引用" onclick="javascript:quote()"/>
    </div>
     </table>
    </form>
    </body>
    </html>
      

  5.   

    en 我的计算机是winxp  我去作一下测试看好使吗? 要好使的话我来告诉你 。。谢谢兄弟。
      

  6.   

    我测试了,还是不可以,只能读出鼠标的单击事件的坐标。移动键盘的左右键,光标读不出来。在text里面显示的是,鼠标单击时刻的坐标值。
    我的系统是winxp IE4.0
    看看能不能有别的方法呢。~~谢了