解決済

関数化の方法を教えてください

function bold(){
if(document.all){ //IE
var str=document.selection.createRange().text;
if (str != "") {
document.selection.createRange().text="<b>" + str + "</b>";
} else {
document.form1.CBBE_TEXT.value += "<b></b>"
}
} else { //Firefox
var el=document.getElementById('text');
var sPos = el.selectionStart;
var ePos = el.selectionEnd;
var str = el.value.substring(sPos, ePos);
el.value = el.value.substring(0, sPos) +
"<b>" + str + "</b>" + el.value.substr(ePos);
}
}

function italic(){
if(document.all){ //IE
var str=document.selection.createRange().text;
if (str != "") {
document.selection.createRange().text="<i>" + str + "</i>";
} else {
document.form1.CBBE_TEXT.value += "<i></i>"
}
} else { //Firefox
var el=document.getElementById('text');
var sPos = el.selectionStart;
var ePos = el.selectionEnd;
var str = el.value.substring(sPos, ePos);
el.value = el.value.substring(0, sPos) +
"<i>" + str + "</i>" + el.value.substr(ePos);
}
}

<input type="button" value="太字" onclick="bold()">
<input type="button" value="斜字" onclick="italic()">
で制御しています。
上の2つの関数をまとめて1種類の関数化できませんか?

2006-05-15 17:29の質問
GE  IE  教えてください  方法  OL      
GE
「日本ゼネラル・エレクトリック」のホームページです
www.ge.com/jp/
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
Ads By Google

回答(1)

1.

2006-05-15 18:36:04ベスト
CSS 使うとか、色々あるかも知れませんが、関数はこんな感じでどうでしょう?
function markup(tag){
   var begin = "<" + tag + ">";
   var end = "</" + tag + ">";
   if(document.all){ //IE
       var str=document.selection.createRange().text;
       if (str != "") {
           document.selection.createRange().text=begin + str + end;
       } else {
           document.form1.CBBE_TEXT.value += begin + end;
       }
   } else { //Firefox
       var el=document.getElementById('text');
       var sPos = el.selectionStart;
       var ePos = el.selectionEnd;
       var str = el.value.substring(sPos, ePos);
       el.value = el.value.substring(0, sPos) +
       begin + str + end + el.value.substr(ePos);
   }
}

<input type="button" value="太字" onclick="markup('b')">
<input type="button" value="斜字" onclick="markup('i')">

有難うございます。もうひとつ分からないのがあるのでもしお時間があったらお願いします。

Ads By Google

コメント

まだコメントがありません

トラックバック

トラックバックURL: