2010-10-07 165 views
1

我正在写一个greasemonkey脚本,它创建一个自动完成的搜索类型框,使得从网页上的大型下拉列表中选择更容易。下拉列表中列出了当我改变使用javascript选择时我无法触发的变化代码。有任何想法吗?触发内联onchange javascript

回答

1

假设页面有这样的事情:用

<input onchange="someFunction()"> 

那么你的Greasemonkey的JavaScript可以改变输入值,然后调用函数:

unsafeWindow.someFunction(); 
+0

啊。这工作。关于如何停止提交表单的输入密钥的任何想法? – Joren 2010-10-07 01:24:09

+0

@Joren:打开一个新的问题,并发布详细信息。一般来说,你会改变在事件处理程序中绑定事件处理程序和/或使用'event.preventDefault();','event.stopPropagation();'和'return false;'的方式。 – 2010-10-07 01:40:48

0

可以触发的onchange“真” :

从内GM:

unsafeWindow.dropdownObject.onchange(); 

从网页:

dropdownObject.onchange(); 
0

对于tampermonkey,这个工程根本不使用unsafewindow。

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

然后在userscript下面的代码触发onchange事件:

假设dropdownbox在网页像定义

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

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