你们好,当我点击表格中的td时在td中动态生成文本框,,并将td中的值赋给文本框。然后利用trigger函数使其获得焦点,可是当我点击表格的td时,动态生成文本框中的字也会被选中。可我不想连文本框的字被选中。不知道如何设置?我的那行代码如下:
                input.trigger("focus");
 

解决方案 »

  1.   

    input.focus();
    if (input.setSelectionRange) {
    input.setSelectionRange(0, 0);
    } else {
    document.selection.empty()
    input.focus();
    }
    //这样试试
      

  2.   


    我的代码如下 $("td[id$=d]").livequery('click', function () {              var td = $(this);
                  //获取改行的id
                  var trid = td.parent().attr("id");
                  //取出当前td的文本内容保存起来  
                  var oldText = td.text();              //建立一个文本框,设置文本框的值为保存的值     
                  var input = $("<input id='businessNo' type='text' value='" + oldText + "'/>");              //将当前td对象内容设置为input                td.html(input);              //设置文本框的点击事件失效                input.click(function () {                  return false;
                  });              //  $("#scroll").trigger("update");              //设置文本框的样式  
                  input.css("border-width", "0");
                  input.css("font-size", "30px");
                  input.css("text-align", "left");
                  //设置文本框宽度等于td的宽度  
                  input.width(td.width());
                  input.height(td.height());
                  //当文本框得到焦点时触发全选事件    
                  input.trigger("focus");
     
                  //当文本框失去焦点时重新变为文本 
                  //   td.html(val);              input.blur(function () {
                      var input_blur = $(this);
                      var offset = td.offset();
                   
                      var bValid = true;
                      bValid = bValid && checkRegexp(offset.left, offset.top, input_blur, /^[a-z]{2}\d{6}$|^[a-z]{2}\d{6}-\d$|^0[a-z]{2}\d{6}$/, "你的格式不正确,格式示例:<br/>正常格式:yf010110。<br/>多柜情况:yf010110-2。<br/>非冠旺格式:0yf010110。");                  //保存当前文本框的内容  
                      /*if  (bValid){
                   
                      var newText = input_blur.val();
                      td.html(newText);
                      }*/                  $("#scroll").trigger("update");
                  });
                  //响应键盘事件  
              
              }); 我的代码是这样的,可是我试了,有点不行。
      

  3.   


    //建立一个文本框,设置文本框的值为保存的值  
      var input = $("<input id='businessNo' type='text' value='" + oldText + "'/>");  //将当前td对象内容设置为input    td.html(input);  // 这样写好像不对···应该是 td.Append(input);
      

  4.   

    你好,我认为如果是使用append函数,那么td原本中的内容依然存在,有待验证。