use*_*510 5 html javascript jquery selector
是否有一个jquery选择器用于在被鼠标光标拖动后突出显示的文本?例如,我想选择我在我的textarea字段中输入的文本,单击一个按钮,该按钮将<p>标记放在我用鼠标光标突出显示的文本周围.非优先考虑非插件解决方案.
有一个非常好的直接 JavaScript 解决方案...只需使用inputElement.selectionStart和inputElement.selectionEnd。
值得注意的是,这仅适用于 Dom 元素,因此您必须为文本区域使用 jQuery 选择器并添加 [0] 来获取元素本身,即。$("#myTextArea")[0].selectionStart。
<p>从那里您可以执行一些字符串工作并在适当的索引处添加标签。
我还没有测试过这个,但它应该有效......
var selStart = $("#myTextArea")[0].selectionStart;
var selEnd = $("#myTextArea")[0].selectionEnd;
var originalString = $("#myTextArea").val();
var segment_1 = originalString.substr(0,selStart);
var segment_2 = originalString.substr(selStart,selEnd);
var segment_3 = originalString.substr(selEnd,originalString.length);
var finalString = segment_1 + "<p>" + segment_2 + "</p>" + segment_3;
$("#myTextArea").val(finalString);
Run Code Online (Sandbox Code Playgroud)