我想选择整个单词,直到逗号出现。如果段落中有逗号,则不应显示。另外,如果我选择文本的一半,它应该显示完整的单词。
jQuery(document).ready(function() {
$("#content > div.row > div > p:nth-child(10)").click(function() {
var s = window.getSelection();
s.modify('extend', 'backward', 'word');
var b = s.toString();
s.modify('extend', 'forward', 'word');
var a = s.toString();
s.modify('move', 'forward', 'character');
$(".location-selected").remove();
$("#content > h2").append('<div class="location-selected">you have selected
location '+(b+a)+' < /div>');
});
});
这是我的专栏:
Gqaka, Gqaqala, Gqiba, Gqobonco, Gqogqora, Gqola, Gqoloma, Gqora, Gqubeni, Gqubonco, Gqukangqa, Gquk
如果我点击Gqiba
,它应该只显示这个词。如果我拖动鼠标选择Gqiba, Gqobonco
,它应该在逗号之前只有一个单词。这意味着它应该Gqiba
- 它应该忽略Gqobonco
。此外,如果我从鼠标选择中选择iba
,则应显示Gqiba
的完整字词,它不应仅选择iba
并显示。请帮助我。
答案 0 :(得分:0)
您必须将所有逗号分隔的单词放入span标记中,没有其他方法可以这样做。
var listPara = "Gqaka, Gqaqala, Gqiba, Gqobonco, Gqogqora, Gqola, Gqoloma, Gqora, Gqubeni, Gqubonco, Gqukangqa, Gquk";
var listItems = listPara.split(",");
listItems.forEach(function(item) {
$("#selectHolder").append("<span>"+ item + "</span>, ");
});
$("#selectHolder").on('click', 'span', function(){
alert($(this).text());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="selectHolder"></p>
&#13;
或者您可以使用此引导程序插件: http://sliptree.github.io/bootstrap-tokenfield/