Sealyu

          --- 博客已遷移至: http://www.sealyu.com/blog

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

          NOTE: I’ve released a set of JavaScript Quicktags (that implement this technique) under the LGPL license. Please look at this code as it has a variety of enhancements and bug fixes.

          I discovered a real JavaScript gem in PHPMyAdmin this morning. They have code that inserts content into a <textarea> at the cursor position instead of just at the beginning/end of the content. This is something I thought wasn’t possible – I’m quite pleased I was wrong.

          I’ll be glad to see this code spread quickly to web forms that use buttons to aid in styling text and inserting image and link tags. WordPress and other blog and web forum packages would really benefit from this. (PHPMyAdmin is GPL, so any other GPL app should be able to use their code directly with attribution).

          Here is a quick look at a generic version of the technique:

          function insertAtCursor(myField, myValue) {
          //IE support
          if (document.selection) {
          myField.focus();
          sel = document.selection.createRange();
          sel.text = myValue;
          }
          //MOZILLA/NETSCAPE support
          else if (myField.selectionStart || myField.selectionStart == '0') {
          var startPos = myField.selectionStart;
          var endPos = myField.selectionEnd;
          myField.value = myField.value.substring(0, startPos)
          + myValue
          + myField.value.substring(endPos, myField.value.length);
          } else {
          myField.value += myValue;
          }
          }
          // calling the function
          insertAtCursor(document.formName.fieldName, 'this value');
          I guess when the mouse leaves the textarea, it still has a cursor position left over. This code uses that position just as you’d want it to.
          posted on 2010-06-04 03:12 seal 閱讀(233) 評論(0)  編輯  收藏 所屬分類: Javascript
          主站蜘蛛池模板: 北京市| 扶绥县| 惠来县| 汉源县| 拉孜县| 大渡口区| 社旗县| 特克斯县| 上饶县| 宝兴县| 安庆市| 阳朔县| 阳泉市| 文山县| 绩溪县| 敦煌市| 望奎县| 九寨沟县| 当涂县| 兴宁市| 中方县| 沙河市| 达孜县| 大厂| 巴林右旗| 红桥区| 卓资县| 松江区| 丹东市| 若羌县| 石门县| 桦南县| 台东市| 襄樊市| 永春县| 来凤县| 清新县| 宾阳县| 朔州市| 库车县| 桐柏县|