【发布时间】:2014-05-07 22:07:53
【问题描述】:
我正在尝试通过 chrome 扩展更改特定网站的输入值。为了做到这一点,我在我的内容脚本中使用了 jQuery。它在大多数情况下都有效,但是当它是 AngularJS 视图的一部分时,我没有设法更改输入的值。当我使用 let say kendoUI 时,我发现了同样的问题。我正在尝试设置调用$('element').val('value') 的值,然后尝试调用模糊和更改事件,但没有任何成功。
我浏览了可能与该主题相关的 99% 的帖子,但仍然找不到有效的解决方案。
【问题讨论】:
-
jimhoskins.com/2012/12/17/angularjs-and-apply.html 了解您的问题的最佳文章...
-
是不是说明我的问题没有解决方案?
-
不,这是一个非常基本的概念,但你应该知道它,当你在 Angular 之外操作 dom 时,Angular 对此一无所知,这就是为什么你看不到任何变化......解决它你应该用 $scope.apply() 包装你的 jquery 函数,然后 angular get changes...
-
但是我怎么能在 angularjs 世界之外调用 $scope.apply() 。我如何提到我正在从我的内容脚本中注入 jQuery 代码。其实我不是注入它而是调用 eval() 方法。
标签: javascript jquery angularjs google-chrome google-chrome-extension