Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript从textarea获取单击过的单词_Javascript_Jquery_Textarea - Fatal编程技术网

如何使用JavaScript从textarea获取单击过的单词

如何使用JavaScript从textarea获取单击过的单词,javascript,jquery,textarea,Javascript,Jquery,Textarea,是否可以在IE和Firefox中使用jquery或javascript从textarea中点击word。目前我正在使用下面的代码,它在Chrome中运行得非常好,但在IE和Firefox中根本不起作用 <body> <label for="result" style="display: none">Text</label> <textarea id="result" rows="30" cols="100"></textarea> &

是否可以在IE和Firefox中使用jquery或javascript从textarea中点击word。目前我正在使用下面的代码,它在Chrome中运行得非常好,但在IE和Firefox中根本不起作用

<body>
<label for="result" style="display: none">Text</label>
<textarea id="result" rows="30" cols="100"></textarea>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>

    $("#result").click(function() {
        if($(this).val() !== null && $(this).val() !== ''){
            var selection = window.getSelection();
            selection.modify('extend', 'backward', 'word');
            var end = selection.toString();

            selection.modify('extend', 'forward', 'word');
            var start = selection.toString();
            selection.modify('move', 'forward', 'character');
            var wordInput = end+start;

            console.log(wordInput);
        }
    });
</script>
</body>

正文
$(“#结果”)。单击(函数(){
if($(this.val()!==null&$(this.val()!=''){
var selection=window.getSelection();
选择。修改('extend','backward','word');
var end=selection.toString();
选择。修改('extend','forward','word');
var start=selection.toString();
选择。修改('move'、'forward'、'character');
var wordInput=结束+开始;
console.log(wordInput);
}
});
预期工作时间

让我们假设有一个文本区域:“Hello World”

当我点击“Hello”中的任意位置时,它应该打印“Hello”,而不是整个textarea值。类似于“世界”等等

IE中的错误

SCRIPT438:对象不支持属性或方法“modify”


有人能帮我吗?谢谢

我想这段代码可以帮助你

const getTheWord=(selectionStart,value)=>{
设arr=value.split(“”);
设和=0
for(设i=0;i选择开始)返回arr[i]
}
}
const myArea=document.getElementById(“myArea”)
myArea.value=“你好,世界!”
myArea.onclick=(e)=>{
设i=e.currentTarget.selectionStart
log(getTheWord(i,myArea.value))
}

我想这段代码可以帮助你

const getTheWord=(selectionStart,value)=>{
设arr=value.split(“”);
设和=0
for(设i=0;i选择开始)返回arr[i]
}
}
const myArea=document.getElementById(“myArea”)
myArea.value=“你好,世界!”
myArea.onclick=(e)=>{
设i=e.currentTarget.selectionStart
log(getTheWord(i,myArea.value))
}