如何在Angular中使用ng-click函数设置最后一行输入的焦点



我正在构建一个任务管理应用程序,我想要的行为:

  • 当用户单击'Add Task'时,将向表中添加新行(已经完成),并关注最新/最后一个表行的输入。

我不希望它在页面加载时聚焦,我只希望它在使用ng-click单击按钮时聚焦。我不知道如何做到这一点,有人能提供任何帮助吗?$broadcast和$on在这里有用吗?

我不知道你是如何添加新的行表。我是Angular的新手,所以我想不出一种与ng-click一起工作的方法,因为它将调用controller中的函数,但不建议在controller中进行DOM操作,所以我的建议是为"添加任务"按钮创建一个新的自定义指令,并在该指令中为元素的链接函数添加一个click监听器,这将为表添加一个新行并将输入元素集中在其中。像下面的

.directive('myDir', function () {
    return {
         restrict: 'A',
         scope: true,
         link: function (scope, element, attrs) {
            function functionToBeCalled () {
                console.log("It worked!");
            }
            element.on('click', functionToBeCalled);
        }
    };
});

您可以在functionToBeCalled函数中添加自己的DOM操作代码。这段代码只是一个基本的参考,给你一个想法。

感觉很懒,所以无耻地从这个答案中复制了directive代码。

最新更新