这是我创建的一个 plunkr 示例:
http://plnkr.co/edit/bgocW5Xg1q0yyiLOAR0F
我正在尝试使用 angular 来监听事件,但是它们没有被调用。当我点击复选框时,事件就发生了。知道这里可能会发生什么吗?
这是我创建的一个 plunkr 示例:
http://plnkr.co/edit/bgocW5Xg1q0yyiLOAR0F
我正在尝试使用 angular 来监听事件,但是它们没有被调用。当我点击复选框时,事件就发生了。知道这里可能会发生什么吗?
根据 AngularJS 文档 - ngChange:
当用户更改输入时评估给定的表达式。当值更改来自模型时,不会评估表达式。
我认为它也适用于更改的属性jQuery
。
我不知道它是否会满足您的要求,但您可以简单地这样做:
$('#test').click(function(){
$('[name="localAuth"]').click();
});
引用自官方文档:
ngChange(optional) – {string=} – 由于用户与输入元素的交互而导致输入发生变化时要执行的 Angular 表达式。
您已经在 JavaScript 上下文中设置了值,这不会触发 Angular 正在侦听的浏览器事件。因此,要触发 Angular 功能,您可以简单地说:
$('[name="localAuth"]').click();
在您的 jQuery 事件处理程序中。
但是,我认为我永远不会想在 Angular 应用程序中执行此操作。相反,我将通过在按钮上使用绑定一个anguarng-click
处理程序函数,并在该函数中更改模型,而完全不涉及 jQuery。