触发内联onchange javascript

时间:2010-10-07 01:00:19

标签: javascript greasemonkey userscripts

我正在编写一个创建自动完成搜索类型框的greasemonkey脚本,可以更轻松地从网页上的大型下拉列表中进行选择。下拉列表具有内联onchange代码,当我使用javascript更改选择时,似乎无法触发。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

假设页面有类似的内容:

<input onchange="someFunction()">

然后你的Greasemonkey JavaScript可以改变输入值,然后使用:

调用该函数
unsafeWindow.someFunction();

答案 1 :(得分:0)

你可以“真的”触发onchange:

来自GM:

unsafeWindow.dropdownObject.onchange();

来自网页:

dropdownObject.onchange();

答案 2 :(得分:0)

对于tampermonkey,这可以在不使用unsafewindow的情况下正常工作。

假设下拉框在网页中定义如下:

<select id="dd_id", onchange="myfunction()">

然后在usercript中跟随代码触发onchange事件:

document.getElementById('dd_id').onchange();

此外,建议避免在文档中使用unsafewindow。