首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

统制backspace键删除字符实现微博用户删除+展现选择好友列表

2013-03-27 
控制backspace键删除字符实现微博用户删除+展现选择好友列表最近项目中应用到了微博系统。本人做了一个模仿

控制backspace键删除字符实现微博用户删除+展现选择好友列表

最近项目中应用到了微博系统。本人做了一个模仿微博一键删除一个用户的功能和选定好友的功能。

功能截图如下:

统制backspace键删除字符实现微博用户删除+展现选择好友列表


说明:主要是onpropertychange事件和onkeydown事件


代码如下:

案例一:onpropertychange的应用[微博字数控制]

 

 

Html:

还可以输入<font id="textnumwin">300</font>字

<textareaid="content"name="content"onpropertychange="javascript:textareaChangeWin(this)"></textarea>

 

Js控制:

//计算还可以输入多少text---Win

function textareaChangeWin(thisp){

    var len = thisp.innerHTML.length; //取得目前的字符长度

    varl = 300-len;            //还剩下多少字可以输入

    vartextval = thisp.innerHTML;

    if(len >300){

       l = 0;

       textval = textval.substr(0,300);   //如果大于300就截取

       thisp.innerHTML = textval;

    }

    $('#textnumwin').text(l);

}

 

 

 

案例2:微博控制backspace键删除一个用户

Html:

发给:<inputonkeydown="DeleteUserNameMore(event)"class="alerttxt"type="text"id="fname"name="fname"onpropertychange="javascript:listFriend(this)"/>

<ul class="recommend-list"id="friendUl"style="display:none;">

</ul>

 

Js控制—删除字符:

//一下backspace键删除一个用户,而不是一个字符

function DeleteUserNameMore(e){

       var keynum;

       if(window.event) // IE

       {

         keynum = e.keyCode

       }

       else if(e.which) // Netscape/Firefox/Opera

       {

         keynum = e.which

       }

       if(keynum == 8){

           //删除一个用户的操作

           varfnameval = document.getElementById("fname").value;

           var touseridval = document.getElementById("touserid").value;

          

          

           var lastIndexF = fnameval.lastIndexOf(';');  //最后一个分号的位置

           var resultFnameStr ='';

           var resultTouseridStr = touseridval;

           if(fnameval.indexOf(';') != -1){  //有分号

              if(lastIndexF == fnameval.length-1){     

                  //分号在最后的位置,直接删除一个用户

                  resultFnameStr =fnameval.substring(0,fnameval.substring(0,fnameval.length-1).lastIndexOf(';')+1);

                  resultTouseridStr =touseridval.substring(0,touseridval.substring(0,touseridval.length-1).lastIndexOf(';')+1);

                  e.returnValue=false;//禁用backspace

              }else{

                  //有分号但是不在最后一个位置,不做任何处理nothing

                  resultFnameStr = fnameval;

              }

           }else{ //没有分号

              resultFnameStr =fnameval;

           }

           document.getElementById("fname").value = resultFnameStr;

           document.getElementById("touserid").value =resultTouseridStr;

       }

    }

 

 

 

 

 

2、Js控制列出好友列表(附件)---代码未给全。自己备注用,主要看回调函数中的操作DOM就可以了

 

//展现好友列表

    functionlistFriend(thisp){

           var likeScreenName =thisp.value;

          

           PlayUl();  //显示自动提示ul

           varplatformval = $('#currentPlatform').val();  //当前平台腾讯Or新浪

           varcurrentUserid = $('#currentUserid').val();  //当前账号平台ID

          

          

           varcurrentScreenName = '';

           if(likeScreenName.indexOf(';') != -1){

              var ScreenArray =likeScreenName.split(';');

              currentScreenName = ScreenArray[ScreenArray.length-1]

           }else{

              currentScreenName =likeScreenName;      

           }

          

          

           var dataJson = {

              platform :platformval,

              userid : currentUserid,

              likesc : currentScreenName

           }

           jQuery

                  .ajax({

                     async : true,//同步还是异步,false=同步,默认是异步方式.

                     type : 'post',

                     data : dataJson,

                     url : "ListFriendFollow.action",

                     success : function(obj){

                         obj =decodeURIComponent(obj);

                         obj = eval('('+obj+')');

                         $('#friendUl').text('');//重置li

                         varlistfriend = obj.data;

 

                         for(vari = 0 ; i < listfriend.length ; i++){

                            $('<li />').attr('onclick','javascript:TransferToUserid(this)').attr('id',listfriend[i].userid).text(listfriend[i].screenName).appendTo('#friendUl');

                         }

                     }

                  });

    }


热点排行