Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否禁用删除jquery中文本框的第一个字母?_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

Javascript 是否禁用删除jquery中文本框的第一个字母?

Javascript 是否禁用删除jquery中文本框的第一个字母?,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,文本框第一个字母将自动填充,用户可以在文本框中输入其余字母。但是用户不能删除页面加载时填充的第一个字母。用户可以通过使用backspace、delete或select all(除填充的第一个字母外)来删除他所写的字母 <input type="text" id="nameId" value="Given Name"/> $("#nameId").on("keydown", function(e) { if (($(this).get(0).selectionStart ==

文本框第一个字母将自动填充,用户可以在文本框中输入其余字母。但是用户不能删除页面加载时填充的第一个字母。用户可以通过使用backspace、delete或select all(除填充的第一个字母外)来删除他所写的字母

<input type="text" id="nameId" value="Given Name"/>

$("#nameId").on("keydown", function(e) {
    if (($(this).get(0).selectionStart == 0 && (e.keyCode < 35 || e.keyCode > 40))
        || ($(this).get(0).selectionStart == 1 && e.keyCode == 8)) {
        return false;
    }
});

$("#nameId").bind("contextmenu", function(e) {
    e.preventDefault();
});

$(“#nameId”)。在(“向下键”上,函数(e){
if($(this.get(0.selectionStart==0&&(e.keyCode<35 | | e.keyCode>40))
||($(this.get(0.selectionStart==1&&e.keyCode==8)){
返回false;
}
});
$(“#nameId”).bind(“上下文菜单”,函数(e){
e、 预防默认值();
});
,除了所选的删除之外,其他都可以。

检查此项

HTML

$('#text')。打开('select keydown contextmenu mousedown drop',函数(e){
如果(e.type='keydown'&&this.selectionStart==0&&this.selectionEnd==0){
此。设置选择范围(1,1);
}
如果((e.keyCode==37&&(this.selectionStart==1 | | | e.ctrlKey))| |(e.keyCode==36)||
(e.keyCode==8&&this.value.length==1)| |(e.keyCode==46&&this.selectionStart==0)| | e.type==drop'){
e、 预防默认值();
}
如果(this.selectionStart==0&&
this.selectionStart!=this.selectionEnd){
this.setSelectionRange(1,this.selectionEnd);
}
});


我想这就是你想要的。试试这个:你可以用删除按钮删除这个前缀。太好了!最好是接受答案。轻松更改为不删除前2个字符。感谢您的辛勤工作当您在输入的开始处写入字符时,您将失去启动
N
<input type="text" id="text" value="N" /> 
$(document).ready(function(){

       var prefix = "N";
       var ctrlDown = false,shiftDown = false;
       var ctrlKey = 17, aKey = 65 , shiftKey = 16,rKey = 39,lKey = 37;

      // mange ctrl and shift key event make flag true/false
      $(document).keydown(function(e)
      {
         if (e.keyCode == ctrlKey) ctrlDown = true;
         if (e.keyCode == shiftKey) shiftDown = true;
      }).keyup(function(e)
      {
         if (e.keyCode == ctrlKey) ctrlDown = false;
         if (e.keyCode == shiftKey) shiftDown = false;
      });

      // if ctrl and shift flag ture and press A or right arrow key or left arrow key it return falsel
      $(document).on('keydown','#text',function(e){
         if (ctrlDown && (e.keyCode == aKey) || shiftDown && ((e.keyCode == rKey)) || shiftDown && (e.keyCode == lKey)) return false;
      });

      $(document).on('keyup','#text',function(e){
   // if useing right key move cursor to first position it auto move focus at last character in text box 

      if(e.keyCode == rKey || e.keyCode == lKey){
        if(this.selectionStart == 0){
           this.selectionStart = this.selectionEnd = $('#text').val().length; 
        }
      }

      if($.trim($(this).val()).length === 0){
        $(this).val(prefix);
      }
   });

   // using mouse click on to first position it auto move focus at last character in text box 
   $("#text").on("contextmenu click", function(e) {
      this.selectionStart = this.selectionEnd = $('#text').val().length;  
      e.preventDefault();
   });

   // using mouse click select all text it auto move focus at last character in text box 
   $( "#text" ).select(function() {
    this.selectionStart = this.selectionEnd = $('#text').val().length;
  }); 

 });