English 中文(简体)
Javascript文件。所有和文档。getSelection——火狐替代
原标题:
  • 时间:2009-04-15 01:30:25
  •  标签:

下面的脚本将取代在文本区域中选择单词。但只能在IE中工作。知道如何使它工作在Firefox吗?(这个问题似乎在于(document.all) ?document.selection.createRange (): document.getSelection ();

<SCRIPT LANGUAGE="JavaScript">
    <!--//
    var seltext = null;
    var repltext = null;
    function replaceit() 
    {
        seltext = (document.all)? document.selection.createRange() : document.getSelection();
        var selit = (document.all)? document.selection.createRange().text : document.getSelection();
        if (selit.length>=1){
            if (seltext) {
                repltext= prompt( Please enter the word to replace: ,    ); 
                if ((repltext==   )||(repltext==null)) repltext=seltext.text;
                seltext.text = repltext;
                window.focus()
            }
        }
    }
    //-->
</SCRIPT>
</HEAD>
<BODY>
    <form name="f">
        <textarea cols= 40  rows= 10  name= msg ></textarea>

        <input type="button" name="b" value="Replace" onClick="replaceit();">
    </form>
</BODY>
最佳回答

好的,所以<代码> document.getSelection() < /代码>在FF返回一个字符串。字符串:文本是不存在的。所以你可以设置。

的过时想法你需要做什么(和它会工作在这两个浏览器):

得到文本区域的<代码> id > < /代码,你需要设置一个<代码> < /代码> id属性在文本区域。的开始和结束位置的选择。然后将三个子:0 - >开始,开始- >结束,结束- > string.length。中间的子串替换任何提示。设置文本<代码> < /代码>文本区域的新成立的字符串。

具体是如何取决于你,我只是给你一个味道的过程。

问题回答

该文档。所有被用作一个测试,看看它年代IE。它年代写document.getSelection()是将使用Firefox和document.selection.createRange()在IE中

See http://www.hscripts.com/tutorials/javascript/ternary.php

So the problem isn t document.all, but rather that the getSelection() isn t working. Not sure why exactly as that s not a construct I ve used recently, but try window.getSelection() as per this: (and google for others if this doesn t do the trick) http://www.webdeveloper.com/forum/archive/index.php/t-138944.html

我阿雷利火烈鸟的书是在工作,但我似乎记得阅读document.getSelection()与文本区域元素特别不工作,只有“不可编辑”页面的部分。

窗口。getSelection使DOMSelection对象可用的方法在firefox。也许这是你正在寻找的。





相关问题
热门标签