我正在编写一个greasemonkey脚本,可以创建一个自动完成的搜索类型框,从而可以更轻松地从网页上的大型下拉列表中进行选择。下拉列表具有内联onchange代码,当我使用javascript更改选择时,似乎无法触发。有任何想法吗?
假设页面有类似的东西:
<input onchange="someFunction()">
然后您的Greasemonkey JavaScript可以更改输入值,然后使用以下命令调用该函数:
unsafeWindow.someFunction();
你可以“真的”触发onchange:
从GM内部:
unsafeWindow.dropdownObject.onchange();
从网页:
dropdownObject.onchange();
对于tampermonkey,这可以在不使用unsafe窗口的情况下工作。
假设下拉框在网页中定义如下:
<select id="dd_id", onchange="myfunction()">
然后在usercript中的以下代码触发onchange事件:
document.getElementById('dd_id').onchange();
此外,建议避免在文档中使用unsafewindow。