虽然你现在看来没什么用,当要用的时候又到处找资料,还不如现在收集一下。 在DOM里面操作textarea里面的字符,是比较麻烦的。 于是我有这个封装分享给大家,测试过IE6,8, firefox ,chrome, opera , safari。兼容没问题。 注意:在firefox下 添加字符串的时候有个bug 就是scrollTop 会等于0,当然解决了,但是不够完美。如果有高手也研究过,麻烦指点下。 代码如下: var TT = { /* * 获取光标位置 * @Method getCursorPosition * ...
(一)获取Textarea的选中区域起点或无选中时的输入光标位置 非IE浏览器,如,firefox,chrome,支持 selectionStart 获取选中区域的起点,而IE浏览器不支持该属性,需要间接通过TextRange来获得,利用TextRange对象的compareEndPoints方法来进行起点的比较可以实现。 代码如下: getStartPos : function( textarea ) { if ( typeof textarea.selectionStart != undefined ) { // 非IE start = textarea.selectionStart; } els...
核心代码: 代码如下: function adjustObjHeight(obj, defaultHeight) { if(obj.scrollHeight > defaultHeight) { obj.style.height = obj.scrollHeight + 'px'; } else { obj.style.height = defaultHeight + 'px'; } } window.onload = function() { var obj = document.getElementsByTagName('textarea'); var len = obj.length; for(var i = 0; iadjustObjHeight(obj[i], 50); } TextAreaHTML代码: 代码如下: 作者 何朝阳Ja...
JavaScript 获取/设置光标位置,兼容Input&&TextArea。 body { margin: 32px; font-family: Verdana, sans-serif; font-size: 13px; } .title { font-size: 18px; font-weight: bolder;margin:40px 0; } .input { width: 50%; font-family: Verdana, sans-serif; font-size: 13px; text-indent: 2px; } //获取光标位置 //单行文本框 function getPositionForInput(ctrl){ var CaretPos = 0; if (document.selection) { // IE ...
注意:在firefox下 添加字符串的时候有个bug 就是scrollTop 会等于0,当然解决了,但是不够完美。如果有高手也研究过,麻烦指点下。 完整测试代码: 代码如下:abcdefghijklmnopqrstuvwxyz// var test = document.getElementById('testlujun');var TT = { /* * 获取光标位置 * @Method getCursorPosition * @param t element * @return number */ getCursorPosition: function(t){ if (document.selection) { t.focus(); ...
网上众说纷纭,经过测试用 textarea的内容.replace(/\n/g, "") 解决问题,在IE6/7/8/9 Firefox/3.6.13 chrome10.0.648.82下测试通过,示例代码如下: 代码如下: YES!B/S!文章示例页面 function testabc() { var content=$("#test").val().replace(/\n/g,""); alert(content); } 结果: 下面的处理就不说了哈 if ($ != jQuery) {$ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 66217; var cb_en...
今天在做一个博客转发的功能,就像新浪微薄转播的那个功能一样,有一个textArea,就是我们发微薄的那个框,别人的微薄都有一个转发的按钮,当我们点击这个转发按钮的时候,他的微薄就会进入到textArea中,看起来很简单的文本框赋值,其实难点就在于,这时候的光标是定位在最前面的。于是搜索了baidu,google,找到了 IE下面的方法 代码如下: var tea=document.getElementById("文本框的ID"); var txt=textArea.createTextRange(); tx...
代码如下: 自动调整大小的textarea .editable{cursor:text; font-size:13px; color:#003366;width:80px;line-height:20px;height:20px;font-family:Arial;cursor:text;*overflow-y:hidden; }
特别是input[text]和textarea,并且在textarea右下角还有一个可用鼠标拖动该表textarea大小的功能,如下图所示: input[text]:textarea:有的时候黄色边框很影响页面效果,并且textarea拖动改变大小之后直接影响布局,所以为了不使这些多余的功能和效果影响页面,可以使用一下几句CSS清除掉chrome浏览器的默认效果,代码如下: 取消表单项聚焦时产生的黄色边框: 代码如下: input,button,select,textarea{outline:none} 取消tex...
直接上代码: 方案一: 枫芸志 » 文本框textarea高度自适应增长/伸缩 textarea { height:100px; width: 300px; } 晴枫制作 http://jb51.net // 最小高度 var minHeight = 100; // 最大高度,超过则出现滚动条 var maxHeight = 300; function ResizeTextarea(){ var t = document.getElementById('txtContent'); h = t.scrollHeight; h = h > minHeight ? h : minHeight; h = h > maxHeight ? maxHeight : h; t.st...
代码如下: /* * 从新浪微博上抄的 * */ var getLength = (function(){ var trim = function(h) { try { return h.replace(/^\s+|\s+$/g, "") } catch(j) { return h } } var byteLength = function(b) { if (typeof b == "undefined") { return 0 } var a = b.match(/[^\x00-\x80]/g); return (b.length + (!a ? 0 : a.length)) }; return function(q, g) { g = g || {}; g.max = g.max || 140; g.min = g.min || 41; g.surl = g.s...
用.net 控件久了,在给一个页面的TextBox 增加控制长度的控制时,简单的加了一个maxlength='xxx' 就行,可是测试确总是不过,原因是设置了多行模式,在这样的情况下生成的html代码就是textarea,同时maxlength属性就没有被增加上,因为IE不支持textarea 的 maxlength属性,于是,在firefox 6中测试,发现firefox是支持这个属性的。那么就简单了。自己写了一个jquery的扩展,这样就可以很容易实现对textarea控制最大长度了。 扩展代码...
代码相对不多。 主要的是: 代码如下: var log = []; $(function () { var txt = window.setInterval(function () { if (log[log.length - 1] != $("#t").val()) { log[log.length] = $("#t").val(); } }, 1500); var isCtrl = false; $(document).keydown(function (e) { if (e.which === 17) isCtrl = true; if (e.which === 90 && isCtrl === true) { log.pop(); $("#t").val(log[log.length - 1]).blur(); } }).keyup(functio...
代码如下: /* input 和 textarea 最大文字限定插件 * 修改版, 一个中文表示1一个字, 一个英文半个字; * TextLimit - jQuery plugin for counting and limiting characters for input and textarea fields * * pass -1 as speed if you dont want the char-deletion effect. (dont just put 0) * Example: jQuery("Textarea").textlimit(span.counter,256) * * $Version: 2009.07.25 +r2 * Copyright (c) 2009 Yair Even-Or * vsync...
其中大部分是靠scrollHeight(非W3C标准,由IE引入),keyup事件来完成。有一种比较有意思的是 通过“镜像元素(mirror element)”, 和setTimeout轮询实现。大致的实现思路如下: 把一个单独的pre元素,通过position:absolute的方式定位于client view之外,并且把它和textarea的样式设置的一样,我们把这个pre元素称为“mirror“,然后通过setTimeout进行200ms的轮询,把textarea中新的值更新到mirror元素中,由于mirror元素被设为bloc...