试图在 iframe 中存在的元素上触发 JavaScript 'change' 事件。下面是我的代码记录
// get the iframe window
var iframeDoc = document.getElementsByTagName("iframe")[0].contentWindow.document;
// get the target element
var targetElement = iframeDoc.querySelector("#some_id");
// add a listener to the target element to make sure the event is fired
targetElement.addEventListener("onchange", function(){console.log("change event triggered");});
// set value in the target element
targetElement.value = "abc";
// now build the custom event
var customEvent = iframeDoc.createEvent("HTMLEvents");
customEvent.intEvent("change", false, true);
// trigger the event on the element
targetElement.dispatchEvent(customEvent)
// now click on the save button
在最后一行执行后,我们没有收到任何错误,并在控制台中看到该消息。但是,当单击表单中的Save
按钮时,硒输入的值不会保留。
技术堆栈: 爪哇, IE 11, 硒 3.141.59 禁用的本机事件
声明一个最小的可重现示例会有很大帮助(你说的是一些值,一些按钮和一些关于我们一无所知的形式(,
onchange
是侦听change
事件的 DOM 元素属性,则实际事件名称为change
。
希望这有帮助。