关于 JavaScript 扩展的代码示例

Code example about javascript extension

本文关键字:代码 JavaScript 扩展 关于      更新时间:2023-09-26

我正在寻找一个JavaScript语言的代码示例,当您在任何网站的任何文本区域中编写文本并按Enter键时,它会自动进行两次输入(两个中断)。

例如

扩展已关闭(默认)

Hello world 1
<br>
Hello world 2

扩展已打开

Hello world 1
<br>
<br>
Hello world 2

这是更新 http://jsfiddle.net/5om3ahcz/1/

功能:

function doubleCarriage(id){
    var a = document.getElementById(id); // grab the element
    a.addEventListener('keypress',function(e){ //create the event listener
        if(e.which == 13 || e.keyCode == 13 ) { // e.which || e.keyCode is enter
            e.preventDefault(); //prevent Default action from performing
            var caret = getCaret(a); //get our carets Position
            var length = a.value.length; //get the length of the value
            a.value = a.value.substring(0, caret) //gets our first half of string
                      + "'n'n" + //enters two breaks 
                      a.value.substring(caret, length); // gets the second half of our string.
        }
   });
}
function getCaret(el) { 
  /*
     Tells us where the caret position is 
     found at 
     http://stackoverflow.com/questions/263743/caret-position-in-textarea-in-characters-from-the-start#answer-263796
  */
  if (el.selectionStart) { 
     return el.selectionStart; 
  } else if (document.selection) { 
    el.focus(); 
    var r = document.selection.createRange(); 
    if (r == null) 
      return 0; 
   var re = el.createTextRange(), 
       rc = re.duplicate(); 
       re.moveToBookmark(r.getBookmark()); 
       rc.setEndPoint('EndToStart', re); 
   return rc.text.length; 
  }  
   return 0; 
}
//run the code like so
doubleCarriage("textarea");

尝试小提琴,看看这是否能实现您想要的。