You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

返回主屏幕后Textbox光标不闪烁问题求助

问题:返回主屏幕后Textarea光标无法闪烁

访问特定屏幕并返回主屏幕后,ID为txtExternalNotes的textarea光标无法正常闪烁。

相关代码

HTML代码

<div id="extrnalBar" ng-model="ExternalNoteDiv" ng-hide="HideExternalNote">
  <span style="width:100px;" id="lblExternalNote">{{ExternalNoteText}}</span>
  <div style="padding-top:2px;">
    <textarea id="txtExternalNotes" ng-model="ExternalNotes" ng-readonly="ExternalNotesReadonly" maxlength="2000" ng-minlength="0" ng-trim="false" class="k-textbox" tabindex="4" style="height:75px; width: 100%;"></textarea>
    <label>
    <span style="float:left;color:#a8a8a8;" id="lblENMaxCharacters"> {{Labels.EN_MaxCharacters}}</span>
    <span class="{{spnLength}}"><label id="lblENTextLength">{{Labels.EN_TextLength}}</label> {{ExternalNotes.length}}</span>
    </label>
  </div>
</div>

当前使用的聚焦代码

SetFocus('txtExternalNotes', 1000, 1);

已尝试但无效的代码

$(document).ready(function () {
  $('textbox').focus();
});

解决方案

1. 修正jQuery选择器错误

你之前的尝试中选择器有误,textarea标签的正确选择器是$('#txtExternalNotes')或$('textarea'),而非$('textbox')(不存在该标签)。

2. 结合Angular生命周期触发聚焦

由于是Angular环境,$(document).ready仅在页面初始加载时执行,返回主屏幕时不会触发。可在主屏幕控制器中监听视图加载完成事件,确保元素渲染后再聚焦:

angular.module('你的模块名').controller('主屏幕控制器', function($scope, $timeout) {
  $scope.$on('$viewContentLoaded', function() {
    // 确保元素处于显示状态
    if (!$scope.HideExternalNote) {
      $timeout(function() {
        // 普通原生聚焦
        $('#txtExternalNotes').focus();
        // 若使用Kendo UI,可调用组件自身的focus方法
        // $('#txtExternalNotes').data('kendoTextBox').focus();
      }, 0);
    }
  });
});

3. 确保元素可见后再执行聚焦

ng-hide="HideExternalNote"控制元素显示隐藏,必须确认HideExternalNote为false时再调用聚焦,否则元素不可见时聚焦操作无效。

4. 优化SetFocus函数逻辑

检查你的SetFocus函数,确保它能在元素可见、非只读状态下执行聚焦,必要时增加重试逻辑:

function SetFocus(elementId, delay, retryCount) {
  $timeout(function() {
    var element = $('#' + elementId);
    if (element.is(':visible') && !element.attr('readonly')) {
      element.focus();
    } else if (retryCount > 0) {
      SetFocus(elementId, delay, retryCount - 1);
    }
  }, delay);
}

内容的提问来源于stack exchange,提问作者Arundhati devkate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 07:36:28