【发布时间】:2020-07-28 11:08:50
【问题描述】:
我有一个包含多个文本框和一组按钮的表单。使用下面的 Javascript,我可以单击一个按钮并将文本插入其中一个命名框。
是否可以在单击按钮时将文本插入最新/活动的文本框?
目前我有这个,但它使用的是文本框的特定 ID,而不是最近使用/活动的 ID;
$( 'input[type=button]' ).on('click', function(){
var cursorPos = $('#my_text_box').prop('selectionStart');
var v = $('#my_text_box').val();
var textBefore = v.substring(0, cursorPos );
var textAfter = v.substring( cursorPos, v.length );
$('#my_text_box').val( textBefore+ $(this).val() +textAfter );
});
JSFiddle 上的示例更清晰;
http://jsfiddle.net/bd1xf0sj/1/
这个想法取决于单击按钮时您所在的文本框,而不是使用某个文本框的 ID。想法是可以单击按钮并且可以使用任何文本框。
【问题讨论】:
-
是什么决定了您案例中的活动字段?
-
理想情况下是单击按钮时光标所在的文本框
标签: javascript jquery