プロが教える店舗&オフィスのセキュリティ対策術

カーソル位置に文字を挿入しようとしているのですが、どうもうまく行きません。
コードは以下なのですが、FireFox 等ではうまくいきますが、IE ではうまくいきません。どこが間違っているのでしょうか。よろしくお願いいたします。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
 <title></title>
<script type="text/javascript">
//@cc_on
(function(){
 document./*@if(1) attachEvent('on'+ @else@*/ addEventListener( /*@end@*/ 'click', function( evt ) {
  var t = evt./*@if(1) srcElement @else@*/ target /*@end@*/;
  
  if ( t.tagName == 'BUTTON' && /(^| )ContributionForm( |$)/.test( t.form.className ) ) {
   var content = t.form.elements['content'];
   
   /*@if(1)
    var r = document.selection.createRange();
    var c = r.duplicate();
    c.moveToElementText(content);
    c.setEndPoint('EndToEnd', r);
    var pos = c.text.length;
   @else@*/
    var pos = content.selectionStart;
   /*@end@*/
   var moji_1 = content.value.substring( 0, pos );
   var moji_2 = content.value.substring( pos, content.value.length );
   content.value = moji_1 + t.value + moji_2;
   
  }
  
 }, false );
})();
</script>
</head>
<body>
 <form action="#" class="ContributionForm" id="form" name="form">
  <div>
    <button type="button" value="test">ボタン</button>
   <textarea name="content"></textarea>
  </div>
 </form>
</body>
</html>

A 回答 (1件)

http://domes.lingua.heliohost.org/dom/intro-rang …

さんこうになりますか?
    • good
    • 0
この回答へのお礼

ありがとぅーす。

IEでは、フォーカスを移動しないとダメなのね。

お礼日時:2013/01/15 08:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!