我使用Chrome Extension撰写Google Content Script以向Google日历添加功能
当您点击我在页面上创建的按钮时,我会更新日历事件" WHERE"输入和"描述"基于某些动态内容在页面上输入。
编辑这些输入工作正常,但是当您保存事件时,标题和描述不会被保存(我假设因为我通过javascript输入值)。如果我注入内容,然后在保存之前手动执行任何键盘字符(在键盘上输入字面),标题和说明就会被保存。
我已经尝试在编辑值后触发输入上的各种事件以触发它正在寻找的任何脏标志/事件,但没有成功:
尝试:
input.change();
input.focus.blur();
var e = $.Event('keypress');
e.which = 13; //enter key
input.trigger(e);
我无法看到这是因为我的javascript是沙盒,还是google正在做一些特别的事情。如果是因为沙箱,我可能会被阻止。我认为谷歌的唯一原因可能就是在这里做一些特别的事情,如果我在输入元素上编辑value=
属性,它不会改变显示的值,这是奇怪的
<input id=":47" name=":47" type="text" class="textinput" placeholder="Enter a location" autocomplete="off" aria-labelledby=":2t.location-label">
非常感谢任何帮助
答案 0 :(得分:1)
我发现A)显然我应该使用焦点之前插入值,然后使用document.exeCommand
正确运行
input.focus();
document.execCommand('inserthtml', false, 'New Input Value Yada Yada Yada');