Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何在角度模态窗口($uibModalInstance)打开后运行代码?_Jquery_Angularjs_Angular Ui Bootstrap_Angular Ui Modal - Fatal编程技术网

Jquery 如何在角度模态窗口($uibModalInstance)打开后运行代码?

Jquery 如何在角度模态窗口($uibModalInstance)打开后运行代码?,jquery,angularjs,angular-ui-bootstrap,angular-ui-modal,Jquery,Angularjs,Angular Ui Bootstrap,Angular Ui Modal,我需要在模态窗口中对某些事件做出响应 以此为基础。 假设(演示)需要在模式窗口中单击所有标签时提醒标签内容: 模态控制器中的代码无效 angular.module('ui.bootstrap.demo') .controller('ModalInstanceCtrl', function ($scope, $uibModalInstance) { $('label').click(function(e){ console.log(e); });

我需要在模态窗口中对某些事件做出响应

以此为基础。 假设(演示)需要在模式窗口中单击所有标签时提醒标签内容:

模态控制器中的代码无效

angular.module('ui.bootstrap.demo')
  .controller('ModalInstanceCtrl',
              function ($scope, $uibModalInstance) {
  $('label').click(function(e){
    console.log(e);
  });

您的代码没有任何效果,因为当它执行时,模板还不是DOM的一部分。如果将这行代码放入控制器中:

console.log($('label').length);
您可以看到它返回0。因此,您只需等待模板加载的那一刻。Angular中有一个常见的技巧,在这种情况下很有帮助:将代码放入$timeout服务中,如下所示:

$timeout(function() {
  $('label').on('click', function(e){
    console.log(e);
  });
});
Timeout将把代码放在当前执行管道的最末端,此时弹出模板将位于DOM中


但这当然是一个肮脏的黑客行为:)如果您需要编写一些jQuery代码,更具角度的方法是编写一个单独的指令,并将其应用于模板中的各个元素。不要忘记各种各样的本机指令,例如“ng click”等。

您的代码没有任何效果,因为当它执行时,模板还不是DOM的一部分。如果将这行代码放入控制器中:

console.log($('label').length);
您可以看到它返回0。因此,您只需等待模板加载的那一刻。Angular中有一个常见的技巧,在这种情况下很有帮助:将代码放入$timeout服务中,如下所示:

$timeout(function() {
  $('label').on('click', function(e){
    console.log(e);
  });
});
Timeout将把代码放在当前执行管道的最末端,此时弹出模板将位于DOM中


但这当然是一个肮脏的黑客行为:)如果您需要编写一些jQuery代码,更具角度的方法是编写一个单独的指令,并将其应用于模板中的各个元素。不要忘记各种各样的本机指令,如“ng click”等。

为什么要在角度控制器中使用jquery代码?只需在标签上添加一个ng click。假设我无法访问HTML代码,只能访问JS,生成的标签编号(我需要将click附加到所有标签上)事先不知道。在这里,我制作了一个,供您尝试并调整您需要的方式。@Serge对于动态方法,您需要使用HTML(要使
ng click
工作),未知函数应该添加@Serge ah是的,好的旧嵌套模型为什么在角度控制器中使用jquery代码?只需在标签上添加一个ng click。假设我无法访问HTML代码,只能访问JS,生成的标签编号(我需要将click附加到所有标签上)事先不知道。在这里,我制作了一个,供您尝试并调整您需要的方式。@Serge对于动态方法,您需要使用HTML(要使
ng click
工作),其中未知函数应添加@Serge ah yes,良好的旧嵌套modalsA bit modified