jquery向输入框光标位置插入指定文本

在我们做表单的时候,有一些特殊的要求,如向输入框光标位置插入内容,下面js代码即可实现

(function($) {
	$.fn.insertContent = function(myValue, t) {
		var $t = $(this)[0];
		if (document.selection) {
			this.focus();
			var sel = document.selection.createRange();
			sel.text = myValue;
			this.focus();
			sel.moveStart('character', -l);
			var wee = sel.text.length;
			if (arguments.length == 2) {
				var l = $t.value.length;
				sel.moveEnd("character", wee + t);
				t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length);
				sel.select();
			}
		} else if ($t.selectionStart || $t.selectionStart == '0') {
			var startPos = $t.selectionStart;
			var endPos = $t.selectionEnd;
			var scrollTop = $t.scrollTop;
			$t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length);
			this.focus();
			$t.selectionStart = startPos + myValue.length;
			$t.selectionEnd = startPos + myValue.length;
			$t.scrollTop = scrollTop;
			if (arguments.length == 2) {
				$t.setSelectionRange(startPos - t, $t.selectionEnd + t);
				this.focus();
			}
		} else {
			this.value += myValue;
			this.focus();
		}
	};
})(jQuery);

$(文本域选择器).insertContent(“插入的内容”);

原创文章,作者:admin,如若转载,请注明出处:https://blib.cn/15922.html

(0)
上一篇 2020年9月23日 下午6:57
下一篇 2020年9月30日 下午6:42

相关推荐

发表评论

您的电子邮箱地址不会被公开。