我正在尝试使用Chrome扩展程序设置Angular textarea的值。由于这是Chrome扩展程序,因此我无法访问网站的来源,因此无法使用Angular指令。
我想要实现的快速背景,我有一个下拉框,我可以选择值,从下拉框中选择一个值将调用一个javascript函数来填充一个textarea,其中包含从drop中选择的值控制下来。
我可以通过获取元素的ID并使用.val()方法设置来获取Angular textarea上的文本更新,但是以编程方式设置值不会设置Angular textarea的“isdirty”方法。
我已经看到可以通过使用触发器来模拟textarea上的输入来手动设置“isdirty”属性,但它似乎不起作用,因为仍然设置了textarea的“ng-untouched”值。只有当我点击textarea时(在调用.val()函数并且现在填充了textarea之后)并单击它,“ng-touching”值才会被设置。
我只有一个基本的选择器
var notes = $("#notes").val();
notes.trigger("change");
我尝试在触发器方法中使用以下关键字,并尝试直接使用它们(即.change()等),keyup,onkeyup,输入,更改,但它们都不适用于我。
$('#notes').get(0).change();
开发工具上没有显示错误。
是否有一些我遗漏的东西阻止了这种情况的发生?