我想实现表单js的通信(html菜单)。因此,当用户单击“我”时,将传递链接表单的名称。这段代码在ie中可以正常工作:
var x = document.getElementById("testjs");
var y = x.contentWindow.document;
y.forms_frame.raiseEvent('call_form',form.nom.toLowerCase());}
此功能在IE11上运行良好,但我想在Firefox 52.9和google chrome 43中使用它。两者均支持applet
我将此函数(可在网上找到)添加到我的js中,如下所示:
function raiseEvent(element, eventName, eventDetails) {
var event;
var bubbles = true;
var cancelable = false;
try {
event = new CustomEvent(eventName, {
bubbles: bubbles,
cancelable: cancelable,
detail: eventDetails
});
} catch (e) {
event = document.createEvent("CustomEvent");
event.initCustomEvent(eventName, bubbles, cancelable, eventDetails);
}
element.dispatchEvent(event);
}
所以我的代码变为:
raiseEvent(y.forms_frame,'call_form',form.nom.toLowerCase());
在firefox中,或者说在JavaScript控制台中没有错误,但没有任何反应。
我如何像IE raiseEvent一样调度事件。
致谢
Walid