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@webse.cn 举报,一经查实,本站将立刻删除涉嫌侵权内容,本文链接:https://webse.cn/15922.html

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2020-09-23 18:57
下一篇 2020-09-30 18:42

发表回复

登录后才能评论