【Web】JS 文本框操作注意事项

    技术2022-05-19  22

    最近在实现微博发表框基本功能的时候遇到了一些问题,下面一一罗列备忘。

     

    1、在文本框光标处插入##,并将光标重置于刚插入的##之间

     

      var obj = document.getElementById("dialog_textarea"); var selection = document.selection; obj.focus(); if (typeof(obj.selectionStart) != "undefined") { var s = obj.selectionStart; obj.value = obj.value.substr(0, obj.selectionStart) + "##" + obj.value.substr(obj.selectionEnd); obj.selectionEnd = s + 1; } else if (selection && selection.createRange) { var sel = selection.createRange(); sel.text = "##"; sel.moveStart('character', -1); sel.collapse(true); sel.select(); } else { obj.value += "##"; }

     

    2、统计文本框中文字的字节数

     

    var ch, st, re = []; var str = obj.value; for (var i = 0; i < str.length; i++ ) { ch = str.charCodeAt(i); // get char st = []; // set up "stack" do { st.push( ch & 0xFF ); // push byte to stack ch = ch >> 8; // shift value down by 1 byte } while ( ch ); re = re.concat( st.reverse() ); }

     

    3、即时响应文本框内容变化的方法

     

    <textarea id="dialog_textarea" cols="40" rows="5" onpropertychange="javascript:textareaValueChanged(this);" οninput="javascript:textareaValueChanged(this);">

     

    onpropertychange 是 IE 的做法

     

    oninput 是 FF 的做法


    最新回复(0)