现在的位置: 首页 > 综合 > 正文

还是从火狐的光标联想而来的

2013年06月09日 ⁄ 综合 ⁄ 共 955字 ⁄ 字号 评论关闭

              在Firefox下怎么实现如下代码的功能,即在焦点处插入文本?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4.   <meta http-equiv="Content-Type" content="text/html;"> 
  5. </head> 
  6. <body> 
  7.   <input type="button" onclick="abc()" value="ok">  
  8.   <input type="text" name="text1" id="text1" value="你好,天气不错"> 
  9. </body> 
  10. </html> 
  11. <SCRIPT LANGUAGE="JavaScript"> 
  12. <!-- 
  13. function abc(){ 
  14. if(document.selection){ 
  15. text1.focus();var range=document.selection.createRange();range.text='今天'
  16. else{ 
  17. var textBox=document.getElementById("text1"); 
  18. var start = textBox.selectionStart; 
  19. var end = textBox.selectionEnd; 
  20. var pre = textBox.value.substr(0, start); 
  21. var post = textBox.value.substr(end); 
  22. textBox.value = pre + '今天' + post; 
  23. //--> 
  24. </SCRIPT>
  25.     稍微解释一下,在IE下很简单:首先得到焦点所在输入框的引用,然后document.selection.createRange();为光标创建一个对象,将值赋给他就行了。
  26.     而在Firefox下,我们需要得到光标前的内容和后的内容,再把数据插入到内容中间!

抱歉!评论已关闭.