我正在构建一个任务管理应用程序,我想要所需的行为:
我不希望它在页面加载时聚焦,我只是希望它在按下ng键单击按钮时聚焦。我不知道如何实现这一目标,任何人都能提供任何帮助吗? $ broadcast和$ on会在这里有用吗?
非常感谢。
答案 0 :(得分:0)
我不知道你是如何向表添加新行的。我是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操作代码。
这段代码只是给你一个想法的基本参考。
感到懒惰,所以无耻地复制了来自this answer的directive
代码。