如何使这个textarea javascript在除Internet Explorer之外的其他浏览器中工作



有人能帮我一下吗

这是一个JavaScript代码,插入一个特定的bbcode说[b][/b]在文本区域框中,当用户点击它,就像它在V公告和SMF论坛,当用户点击一个图像与 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>

文档。选择及其所有方法和属性仅适用于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()
        }
    }
}

david指出的解决方法也很有效。

相关内容

最新更新