簡體   English   中英

如何使該texarea javascript在Internet Explorer以外的其他瀏覽器中工作

[英]how to make this texarea javascript work in other browsers except Internet Explorer

請有人可以幫我這個忙

這是一個JavaScript代碼,當用戶單擊它時,就像在V Bulletin和SMF論壇中一樣,當用戶單擊帶有B [b]的圖像時,會在文本區域框中插入特定的bbcode,例如[b] [/ b]。 [/ b]出現在文本區域表單中,

現在我讓我可以工作,盡管在JavaScript中不是很好,但是問題是它只能在INTERNET EXPLORER中工作,而不能在OPERA和Mozilla中工作,所以我需要幫助使其在除IE之外的其他瀏覽器中工作

<HTML>
 <Head>
 <script type="text/javascript">

 var isSelected = false;

 function copySelection(workArea){

 workArea.workText = document.selection.createRange();
 isSelected = true;
 }

 function wrapInTags(workArea,isTag){

 if (isSelected)
 {
 workArea.workText.text = "["+isTag+"]"+workArea.workText.text+"[/"+isTag+"]";
 if (workArea.workText.text==''){isSelected=false;workArea.focus()}
 }
 }

 function AddURL(workArea){

 var AddURL="";
 var txt="";


 txt=prompt("Enter URL for the link.","http://");
 AddURL="[.url="+txt+"]";
 AddURL2="[./url]";


 if (isSelected)
 {
 workArea.workText.text = AddURL+workArea.workText.text+AddURL2;
 if (workArea.workText.text==''){isSelected=false;workArea.focus()}
 }

 }

 </Script>
 </Head>


 <Body>
 <Form name='Form1' method=post action='process.php'>
 <textarea name='area1' cols='40' rows='4' onselect="copySelection(this)"></textarea><br>
 <input type=button value='Italic' onclick="wrapInTags(this.form.area1,'i')">
 <input type=button value='Bold' onclick="wrapInTags(this.form.area1,'b')">
 <input type=button value='Underline' onclick="wrapInTags(this.form.area1,'u')">
 <input type=button value='Link' onclick="AddURL(this.form.area1)">
 <br><br>
 <input type=submit value='Submit'>
 </Form>


 </Body>
 </HTML>

document.selection及其所有方法和特性僅是IE,但在其他瀏覽器上也可以正常使用。

var isSelected = false;

function copySelection(workArea){
    workArea.workText = document.selection ? document.selection.createRange() : {text:workArea.value.substring(workArea.selectionStart,workArea.selectionEnd)};
    workArea.offsetSelection = workArea.selectionStart;
    isSelected = true;
}


function wrapInTags(workArea,isTag){
    if (isSelected)
        {
        if(document.selection){ 
            workArea.workText.text = "["+isTag+"]"+workArea.workText.text+"[/"+isTag+"]";
        } else {        
            workArea.value = 
                workArea.value.substring(0,workArea.offsetSelection)
                + "["+isTag+"]"+workArea.workText.text+"[/"+isTag+"]" 
                + workArea.value.substring(workArea.offsetSelection+workArea.workText.text.length)
        }


        if (workArea.workText.text==''){
            isSelected=false;workArea.focus()
        }
    }
}


function AddURL(workArea){
    var AddURL="";
    var txt="";

    txt=prompt("Enter URL for the link.","http://");
    AddURL="[.url="+txt+"]";
    AddURL2="[./url]";

    if (isSelected) {
        if(document.selection){ 
            workArea.workText.text = AddURL+workArea.workText.text+AddURL2;
        } else {
            workArea.value = 
                workArea.value.substring(0,workArea.offsetSelection)
                +  AddURL +workArea.workText.text+ AddURL2
                + workArea.value.substring(workArea.offsetSelection+workArea.workText.text.length)
        }

        if (workArea.workText.text==''){
            isSelected=false;workArea.focus()
        }
    }

}

大衛指出的解決方案也很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM