分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

jquery通过textarea的字符位置控制光标位置,通过输入月份位置,跳转到输入日的位置,输入日后跳转至末尾

发布时间:2023-09-06 02:14责任编辑:沈小雨关键词:暂无标签
$(item).on("click", function () {
  var inputStr = ‘‘;
  var startPosition = 0;
  var strYear = new Date().getFullYear();
  if ($(item).hasClass(‘read-option‘)) {
???  inputStr = strYear + ‘年 ?月 ?日圈阅。‘;
  } else if ($(item).hasClass(‘approval-option‘)) {
???  inputStr = strYear + ‘年 ?月 ?日批示:‘;
  } else if ($(item).hasClass(‘over-option‘)) {
???  inputStr = ‘已于‘ + strYear + ‘年 ?月 ?日将领导批示复印件送‘;
  } else if ($(item).hasClass(‘clear-option‘)) {
???  inputStr = ‘‘;
  }
  startPosition = inputStr.indexOf(‘月‘) != -1 ? inputStr.indexOf(‘月‘) : 0; // 得到当前月的位置
  var dayPosition = inputStr.indexOf(‘日‘) != -1 ? inputStr.indexOf(‘日‘) : 0; // 得到当前日的位置
  $text_content.val(inputStr);
  moveTextPosition($text_content[0], startPosition);

});

// 当值改变时
$(‘#opinionContent‘).on(‘keyup‘, function () {
  var val = $(this).val();
  var monthPosition = val.indexOf(‘月‘) != -1 ? val.indexOf(‘月‘) : 0; // 得到当前月的位置
  var dayPosition = val.indexOf(‘日‘) != -1 ? val.indexOf(‘日‘) : 0; // 得到当前日的位置

  var month2 = $.trim(val.substring(monthPosition - 3, monthPosition));
  var day2 = $.trim(val.substring(dayPosition - 3, dayPosition));
  var month2ParseInt = parseInt(month2);
  var day2ParseInt = parseInt(day2);

  if (month2ParseInt <= 12 && month2ParseInt > 0 && month2.length === 2 && isNaN(day2ParseInt)) {
    moveTextPosition($text_content[0], dayPosition);
  }
  if (parseInt(day2) <= 31 && parseInt(day2) > 0 && day2.length === 2 && !isNaN(day2ParseInt)) {
    var count = val.length / 1024;
    var textLen = parseInt(Math.round(count * Math.pow(10, 4)));
    moveTextPosition($text_content[0], textLen);
  }
});
// 光标的位置
function moveTextPosition(obj, startPosition) {
???obj.focus();
???if (document.selection) {
???????var sel = obj.createTextRange();
???????sel.moveStart(‘character‘, startPosition);
???????sel.collapse(true);
???????sel.select();
???} else if (obj.setSelectionRange) {
???????//obj.selectionStart = obj.selectionEnd = startPosition;
???????obj.setSelectionRange(startPosition, startPosition);
???}
}

???

jquery通过textarea的字符位置控制光标位置,通过输入月份位置,跳转到输入日的位置,输入日后跳转至末尾

原文地址:https://www.cnblogs.com/huachuan/p/9629080.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved