0

这是我创建的一个 plunkr 示例:

http://plnkr.co/edit/bgocW5Xg1q0yyiLOAR0F

我正在尝试使用 angular 来监听事件,但是它们没有被调用。当我点击复选框时,事件就发生了。知道这里可能会发生什么吗?

4

2 回答 2

2

根据 AngularJS 文档 - ngChange

当用户更改输入时评估给定的表达式。当值更改来自模型时,不会评估表达式。

我认为它也适用于更改的属性jQuery

我不知道它是否会满足您的要求,但您可以简单地这样做:

$('#test').click(function(){
    $('[name="localAuth"]').click();
});

查看更新的 Plunker

于 2013-06-13T22:18:18.203 回答
1

引用自官方文档

ngChange(optional) – {string=} – 由于用户与输入元素的交互而导致输入发生变化时要执行的 Angular 表达式。

您已经在 J​​avaScript 上下文中设置了值,这不会触发 Angular 正在侦听的浏览器事件。因此,要触发 Angular 功能,您可以简单地说:

$('[name="localAuth"]').click();

在您的 jQuery 事件处理程序中。

但是,我认为我永远不会想在 Angular 应用程序中执行此操作。相反,我将通过在按钮上使用绑定一个anguarng-click处理程序函数,并在该函数中更改模型,而完全不涉及 jQuery。

于 2013-06-13T22:26:59.330 回答