使用ID生成输入时的触发功能

巨人神

我有一个正常的ng-repeat模型。除了我的输入之外,其他所有东西都工作正常……输入数据后,我需要运行一个JavaScript函数。

<div class="form-group">
  <input type="text" id="game-time-passed-{{$index}}" class="form-control" 
   readonly="true" value="{{games.gameStartTime}}">
</div>

我只是无法在输入生成后立即对其进行访问。我知道我不能在输入上使用onload ...一切完成后我可以继续使用它,但是感觉不对。我需要在数据进入输入框时立即对其进行更改,并在该输入框上注册一种带有其值的计时器。

我也可以在输入下放置一个脚本标记,并启动一个自调用函数,但是我想保持整洁。最好是一个角度属性或其他类似的东西:

<div class="form-group">
  <input type="text" id="game-time-passed-{{$index}}" class="form-control"
   readonly="true" input-loaded="myFunction(this)">
</div>

简而言之:当输入被加载或触发具有其值的某种事件时,是否仍然可以访问输入?普通的JavaScript会非常不错。

巨人神

因此,经过一些努力,我自己找到了答案。

我正在使用一个自定义指令,当到达ng-repeat的最后一个元素并将其呈现时将触发该指令,但在浏览器中仍然看不到。就是我想做的。

这是我的解决方案:

1.通过另一个函数的名称空间注册自定义指令:

const CUSTOMDIRECTIVE = require('./CustomDirectives.js');

// Main APP:
angular.module('LoLWatcher', []);

/**
* Register Directives
*/

// Register Sepctate Timers Directive
angular.module('LoLWatcher').directive('spectateFinishedLoadingTimers', CUSTOMDIRECTIVE.spectateFinishedLoadingTimers);

2.在我的自定义指令中,我的代码现在看起来像这样:

var CUSTOMDIRECTIVES = module.exports = CUSTOMDIRECTIVES || {};

/**
* Global Variables and Modules
*/
// Error Logger
const ERRORLOGGER = require('../Helpers/ErrorLogger.js');


CUSTOMDIRECTIVES.spectateFinishedLoadingTimers = function(){
  // Activate Strict Mode
  'use strict';
  // Add Name Parameter to Function
  CUSTOMDIRECTIVES.spectateFinishedLoadingTimers.FuncName = 'CUSTOMDIRECTIVES.spectateFinishedLoadingTimers';

  try {
    // Return directive Object.
    return {
      // Restrict by Attribute.
      restrict: 'A',
      // Link Function to directive.
      link: function (scope, element, attr) {
        // If is last element in ng-repeat...
        if (scope.$last) {
          // ... run async callback from attribute.
           scope.$evalAsync(attr.spectateFinishedLoadingTimers);
        }
      }
    };

  } catch (e) {
    //Logg complete error
    console.log(e);
    //future user error codes
    console.log(ERRORLOGGER.standardErrorLog(CUSTOMDIRECTIVES.spectateFinishedLoadingTimers.FuncName, 'functionError'));
  }
};

3.之后,我不得不用我的自定义属性修改html($ last && ...确保仅在到达最后一个元素时才触发我的函数):

<div class="row-fluid"  ng-model="personList" ng-repeat="person in personList| filter:featuredPersons(filter)" spectate-finished-loading-timers="$last && timersFinishedLoading()">

4.最后要做的是将我的自定义函数注册到我的控制器/作用域:

// Function fired from Attribute
$scope.timersFinishedLoading = function(){
  console.log('done rendering but not loaded in browser');
  // Plain easy JS!
  let div = document.querySelectorAll('[id^=time-passed-]');
  for(let i= 0; i < div.length; i++){
    /**
     * Do Stuff with Timers
     */
  }
};

所有这些使我能够从所有生成的输入中获取我的值,并更改它们的值,因为它们出现在浏览器中,或者以我的电子形式出现。由于我大量使用名称空间和模块,因此省去了“脏”的部分。

最后一件事,如果你们反对一个问题,至少要写一条评论为什么要这样做并帮助其他人改善!我们都从小开始,仍然在学习...只是说说而已。

我希望这将对遇到相同问题的人有所帮助。

此致Megajin

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在角度输入字段中输入时触发功能

来自分类Dev

ANSI C:使用功能检查用户输入时出错

来自分类Dev

在功能之间使用用户输入时遇到麻烦

来自分类Dev

数字输入触发功能

来自分类Dev

SQL Server:在插入更改输入时触发

来自分类Dev

SQL Server:在插入更改输入时触发

来自分类Dev

如何让角度$ asyncValidator在模糊时触发但在输入时使用常规验证器

来自分类Dev

使用“输入时显示文本建议”功能,而无需使用鼠标

来自分类Dev

使用 React 在输入时提交

来自分类Dev

从文件导入时sql自动生成的id

来自分类Dev

当专注于iPhone上的只读输入时,事件停止触发

来自分类Dev

动态生成输入的 Id

来自分类Dev

用户停止输入时在React中执行功能

来自分类Dev

在C ++中收到输入时如何停止执行异步功能

来自分类Dev

接受用户输入时如何运行相同功能

来自分类Dev

React/React Hooks:我正在尝试使用在用户离开输入时触发的条件函数来动态更改输入的样式

来自分类Dev

当没有输入输入时,如何从输入标签中触发一个函数?

来自分类Dev

使用输入时未终止的JSX内容

来自分类Dev

使用Adb输入时记录按键事件

来自分类Dev

使用RegEx键入时验证用户输入

来自分类Dev

使用大输入时输出错误

来自分类Dev

使用多个输入时的 Graylog(用例)

来自分类Dev

获取外部输入时,生成无限项列表不会“暂停”

来自分类Dev

使用插入时的主键生成器

来自分类Dev

在 iOS 13.1 上使用输入按钮时,离子搜索栏不会触发我的功能

来自分类Dev

如何使用jquery生成动态输入并通过id获取值

来自分类Dev

当输入最大长度时,即使达到最大长度,输入时也会触发

来自分类Dev

在IE中的IME菜单上输入,在输入时触发键入事件

来自分类Dev

未选择制表符输入时如何触发输入制表符选择?

Related 相关文章

  1. 1

    在角度输入字段中输入时触发功能

  2. 2

    ANSI C:使用功能检查用户输入时出错

  3. 3

    在功能之间使用用户输入时遇到麻烦

  4. 4

    数字输入触发功能

  5. 5

    SQL Server:在插入更改输入时触发

  6. 6

    SQL Server:在插入更改输入时触发

  7. 7

    如何让角度$ asyncValidator在模糊时触发但在输入时使用常规验证器

  8. 8

    使用“输入时显示文本建议”功能,而无需使用鼠标

  9. 9

    使用 React 在输入时提交

  10. 10

    从文件导入时sql自动生成的id

  11. 11

    当专注于iPhone上的只读输入时,事件停止触发

  12. 12

    动态生成输入的 Id

  13. 13

    用户停止输入时在React中执行功能

  14. 14

    在C ++中收到输入时如何停止执行异步功能

  15. 15

    接受用户输入时如何运行相同功能

  16. 16

    React/React Hooks:我正在尝试使用在用户离开输入时触发的条件函数来动态更改输入的样式

  17. 17

    当没有输入输入时,如何从输入标签中触发一个函数?

  18. 18

    使用输入时未终止的JSX内容

  19. 19

    使用Adb输入时记录按键事件

  20. 20

    使用RegEx键入时验证用户输入

  21. 21

    使用大输入时输出错误

  22. 22

    使用多个输入时的 Graylog(用例)

  23. 23

    获取外部输入时,生成无限项列表不会“暂停”

  24. 24

    使用插入时的主键生成器

  25. 25

    在 iOS 13.1 上使用输入按钮时,离子搜索栏不会触发我的功能

  26. 26

    如何使用jquery生成动态输入并通过id获取值

  27. 27

    当输入最大长度时,即使达到最大长度,输入时也会触发

  28. 28

    在IE中的IME菜单上输入,在输入时触发键入事件

  29. 29

    未选择制表符输入时如何触发输入制表符选择?

热门标签

归档