在锚标记中获取单词选择
Javascript: Get word selection in anchor tags
我目前正在为chrome编写一个插件。我想通过使用热键+鼠标点击来选择单词。对于普通文本,我可以使用window.getSelection(),如下所示
var s = window.getSelection();
s.modify('extend','backward','word');
var firstPart = s.toString();
s.modify('extend','forward','word');
var lastPart = s.toString();
s.modify('move','forward','character');
var txt = firstPart + lastPart;
然而,它不工作,如果我尝试在一个链接中的单词。这行不通。如果有任何方法或javascript库,我可以使用它。
请帮帮我!
我认为问题可能是你正在使用一个onclick事件。我仍然不能100%确定您期望的行为,但我确实注意到使用onclick
和onmouseup
之间有一个有趣的区别。我在JSFiddle中放置了一个演示:http://jsfiddle.net/EGmV3/1.
<body>
<p>Hold down 'F9' then select this text...</p>
<p><a href="#">Now try it with this text..</a></p>
</body>
JavaScript: var hotKeyIsDown = false;
window.onkeydown = function(ev) {
hotKeyIsDown = false;
if(ev.which === 120) //F9 key
hotKeyIsDown = true;
}
window.onkeyup = function(ev) {
hotKeyIsDown = false;
}
// try changing this to `window.onclick'
window.onmouseup = function (){
if(hotKeyIsDown) {
var s = window.getSelection();
s.modify('extend','backward','word');
var firstPart = s.toString();
s.modify('extend','forward','word');
var lastPart = s.toString();
s.modify('move','forward','character');
var txt = firstPart + lastPart;
alert("You were selecting '" + txt + "'");
return false;
}
}
相关文章:
- 如何在PHP中获取特定的字符串单词
- 当两个单独的单词被放在目标上时,使用Jquery获取一个值
- 使用RegExp获取一系列单词,这些单词前后可能有空格,也可能没有空格
- 获取特殊字符后没有单词的句子
- 如何在搜索框中获取从特定字母开头的单词
- 如何使用 JavaScript 获取所有以单词开头的 cookie
- 在鼠标指针下获取单词
- 在jQuery中,只从句子中获取单词或数字的一部分
- 使用 XMLHttpRequest 从另一个网站获取单词
- 获取单词和行尾之间的文本
- JavaScript在光标前获取单词
- 如何使用Javascript正则表达式从可能的单词列表中获取单词的最后一次出现
- 如何使用AngularJS在光标下获取单词
- 使用javascript和regex在昏迷之前获取单词
- 使用jQuery正则表达式从字符串中获取单词
- 使用正则表达式获取单词后的名称
- 以编程方式获取单词的定义
- 从数据库中获取单词 - 不会有内容输出
- 获取[单词,单词]中的第一项
- 在锚标记中获取单词选择