2

我试图点击一个锚点,但它显示类型错误..不是一个函数。

这是我的代码:

file_browser_callback: function(field_name, url, type, win) {
    win.document.getElementById("media").onclick();     
    win.document.getElementById(field_name).value = 'window.send_to_editor'; 
},

为什么我这样做

我正在使用 Tinymce 编辑器,我想使用file_browser_callback.

我的文档中有一个锚点#media,它打开一个厚框,在厚框中选择图像后,它会发送一个回调send_to_editor

所以我想从中获取值send_to_editor并设置为

win.document.getElementById(field_name).value

现在我收到此错误:

TypeError: win.document.getElementById(...).onclick is not a function

请不要推荐 jQuery 代码,我需要纯 javascript(tinymce init 不支持 jquery)

4

1 回答 1

2

当一个事件与 绑定时addEventListener,运行onclick()将不起作用(因为它仍然是null

您可以尝试以下方法:

var clickEvent = document.createEvent("MouseEvent");
clickEvent.initMouseEvent("click", true, true, window, 1, 0, 0, 0, 0,
                          false, false, false, false, 0, null);

document.getElementById('media').dispatchEvent(clickEvent);
于 2013-07-22T01:36:20.303 回答