Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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 如何将html标记包装在输入中选定的文本周围?_Javascript_Jquery_Html_Forms_Input - Fatal编程技术网

Javascript 如何将html标记包装在输入中选定的文本周围?

Javascript 如何将html标记包装在输入中选定的文本周围?,javascript,jquery,html,forms,input,Javascript,Jquery,Html,Forms,Input,问题是: 我有一个输入文本类型元素,它旁边有一个按钮 单击按钮后,输入中的选定文本必须用html元素包装。例如,单击按钮时,所选文本将以包装 有人有什么解决办法吗?有人问过类似的问题。 您可以使用JQuery选择方法()或JS选择方法()。然后用HTML包装的块替换选择。正如@RémyJ所写,您可以使用jQueryselectevent来获取选择。试试这个: var start, end; $('#tf').select(function(e) { start = e.target.se

问题是: 我有一个输入文本类型元素,它旁边有一个按钮

单击按钮后,输入中的选定文本必须用html元素包装。例如,单击按钮时,所选文本将以
包装


有人有什么解决办法吗?

有人问过类似的问题。
您可以使用JQuery选择方法()或JS选择方法()。然后用HTML包装的块替换选择。

正如@RémyJ所写,您可以使用jQuery
select
event来获取选择。试试这个:

var start, end;
$('#tf').select(function(e) {
    start = e.target.selectionStart;
    end = e.target.selectionEnd;
});

$('.wrap').click(function() {
    var val = $('#tf').val();
    var newVal = val.substr(0, start) + '!' + val.substr(start, (end-start)) + '!' + val.substr(end);
    $('#tf').val(newVal);
});
HTML:


您尝试过什么?不完全确定“用html元素包装”是什么意思。你能举一个前后的例子吗?对不起,伙计们,我在问题中写了一个html标记,没有显示出来。我现在编辑,所以对问题的任何误解现在都可以澄清了!因为要学会格式化代码。
<input type="text" id="tf"> 
<button type="button" class="wrap">wrap</button>