簡體   English   中英

Chrome擴展程序 - 使用JQuery觸發content_scripts上的事件

[英]Chrome Extension - Trigger events on content_scripts using JQuery

我寫了一個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

我也嘗試過:

jQuery("#SelectElement option:containt('London')").attr("selected", "selected").change();

但是,如果我在控制台上嘗試此代碼,它的工作原理。

建議?

我有同樣的問題,據我所知,這是因為有一些叫做框架事件監聽器的東西。 你不能通過jquery從你的代碼中觸發! 但解決方案是以這種方式觸發事件:

$(selector)[0].dispatchEvent(new Event("eventName"))

就我而言,

var event = new CustomEvent('change');

不工作。

我必須像這樣初始化事件:

var evt = document.createEvent("HTMLEvents");
evt.initEvent("keyup", true, true);

第一個arg'bubble'應該是真的,所以事件應該在事件鏈中冒出來。

event.initEvent(type, bubbles, cancelable);

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM