Chrome扩展程序 - 使用JQuery触发content_scripts上的事件

use*_*605 7 javascript jquery google-chrome javascript-events google-chrome-extension

我写了一个Chrome扩展程序,可以自动填写一些注册表单.有一些选择字段需要在" 更改 "事件上触发才能启动一些Ajax调用.

首先,我使用JQuery attr或val来更改select字段的值,而不是使用.trigger来调用"change"事件,但最后一个不起作用.

例:

我想选择包含单词"London"的选项并调用change元素以启动对"change"事件有一些监听器的本机代码的一些操作

jQuery("#SelectElement option:contains('London')").attr("selected", "selected"); 
jQuery("#SelectElement").trigger("change"); <--- not works
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

jQuery("#SelectElement option:containt('London')").attr("selected", "selected").change();
Run Code Online (Sandbox Code Playgroud)

但是,如果我在控制台上尝试此代码,它的工作原理.

建议?

小智 3

就我而言,

var event = new CustomEvent('change');
Run Code Online (Sandbox Code Playgroud)

不工作。

我必须像这样初始化事件:

var evt = document.createEvent("HTMLEvents");
evt.initEvent("keyup", true, true);
Run Code Online (Sandbox Code Playgroud)

第一个参数“bubbles”应该为 true,因此事件应该通过事件链冒泡。

event.initEvent(type, bubbles, cancelable);
Run Code Online (Sandbox Code Playgroud)

来源: https: //developer.mozilla.org/en-US/docs/Web/API/Event/initEvent