text和textarea中的range处理

本文介绍了一种在文本输入框中使用JavaScript控制光标位置的方法,特别是如何通过编程手段将光标移动到文本的末尾,对于网页表单开发有一定的实用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,在text中按后退键,然后得到光标位置后,光标会移动到text的最前面,为了移动到文本的最后面,
加了4行代码(见注释)。这里并没有彻底搞明白,先立此存照。
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=GBK">
        <script src="../pub/jquery/jquery.pack.js"></script>
        <script>
     function getTextCaretPos(textObj){
        var curRange = document.selection.createRange();
        var tbRange = textObj.createTextRange();
        tbRange.collapse(true);
        tbRange.select();
        var headRange = document.selection.createRange();
        headRange.setEndPoint("EndtoEnd", curRange);
        var pos = headRange.text.length;
        return pos;
    }
    
    jQuery(document).ready(function(){
       jQuery('#test').keyup(function(event){
 switch(event.keyCode){
 case 8:
 $('#pos').html(getTextCaretPos($('#test').get(0)));
//以下4行移动光标到文本最后面
   $('#test')[0].focus();
    var rng =$('#test')[0].createTextRange();
    rng.collapse(false);
    rng.select();
    break;
  }
 }
   );
    }
    );
  </script>
    </head>
    <body>
        <input id='test'>
        pos:
        <span id='pos'></span>
    </body>
</html>

在Unity中,属性(Attributes)用于在Inspector面板中控制脚本变量的显示行为。除了[Range(0, 100)][TextArea]之外,还有许多常用的属性。以下是一些常用的属性及其用途: 1. **[Header("Header Text")]**: 在Inspector面板中添加一个标题,用于分组变量。 ```csharp [Header("Player Settings")] public int health; public float speed; ``` 2. **[Tooltip("Tooltip Text")]**: 当鼠标悬停在变量上时显示提示信息。 ```csharp [Tooltip("Health of the player")] public int health; ``` 3. **[SerializeField]**: 即使变量是私有的,也会在Inspector面板中显示。 ```csharp [SerializeField] private int health; ``` 4. **[HideInInspector]**: 防止变量在Inspector面板中显示,即使它是公共的。 ```csharp [HideInInspector] public int health; ``` 5. **[RequireComponent(typeof(ComponentType))]**: 确保游戏对象上有一个特定类型的组件,如果不存在则自动添加。 ```csharp [RequireComponent(typeof(Rigidbody))] public class PlayerController : MonoBehaviour { // ... } ``` 6. **[ContextMenu("Method Name")]**: 在Inspector面板的上下文菜单中添加一个自定义方法,可以通过点击来执行。 ```csharp [ContextMenu("Reset Health")] void ResetHealth() { health = 100; } ``` 7. **[ContextMenuItem("Label", "MethodName")]**: 在Inspector面板中为变量添加一个上下文菜单项。 ```csharp public int health; [ContextMenuItem("Reset Health", "ResetHealth")] void ResetHealth() { health = 100; } ``` 8. **[ColorUsage(true, true)]**: 控制颜色选择器的显示方式。 ```csharp [ColorUsage(true, true)] public Color color; ``` 9. **[Min(0)] [Max(100)]**: 设置数值的最小值最大值。 ```csharp [Min(0)] public int minValue; [Max(100)] public int maxValue; ``` 10. **[Delayed]**: 延迟更新变量值,直到用户完成输入。 ```csharp [Delayed] public string playerName; ``` 这些属性可以帮助开发者更方便地管理调试Unity项目中的脚本变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值