首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么当jQuery操纵事物时,angular事件不会启动?

为什么当jQuery操纵事物时,angular事件不会启动?
EN

Stack Overflow用户
提问于 2013-06-14 06:06:07
回答 2查看 103关注 0票数 0

下面是我创建的一个plunkr示例:

http://plnkr.co/edit/bgocW5Xg1q0yyiLOAR0F

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

EN

回答 2

Stack Overflow用户

发布于 2013-06-14 06:18:18

根据AngularJS文档- ngChange

在用户更改输入时对给定表达式求值。如果值更改来自模型,则不计算表达式。

我假设它也计入由jQuery更改的属性。

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

代码语言:javascript
运行
复制
$('#test').click(function(){
    $('[name="localAuth"]').click();
});

See updated Plunker

票数 2
EN

Stack Overflow用户

发布于 2013-06-14 06:26:59

引用自official doc

ngChange(可选)- {string=} -由于用户与输入元素的交互而导致输入更改时执行的角度表达式。

您已经在JavaScript上下文中设置了该值,这不会触发Angular正在侦听的浏览器事件。因此,要触发Angular函数,您可以简单地放入:

代码语言:javascript
运行
复制
$('[name="localAuth"]').click();

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

然而,我不认为我会想在angular应用中这样做。相反,我将通过使用按钮上的ng-click绑定一个anguar处理函数,并在该函数中更改模型,而不涉及jQuery。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17097970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档