我需要这个“为什么”的简短摘要。我正在使用PlUpload,它允许您使用Ajax上传文件,同时为您提供百分比,完成等事件。您实例化对象,然后调用“init”(告诉它哪个ID“链接到”)然后添加所有事件侦听器。由于需要该对象的页面是在运行时创建的,并且不能包含JS,因此我只是在主页面中创建了一个DIV(当一切正常时它将隐藏...),其中包含链接。
这是链接:
<a id="browse" href="javascript:;">Browse</a>
如果我直接点击它,它就可以了。
当我实时创建新子页面时,我希望在用户点击图像时调用该链接,如下所示:
<img onclick="document.getElementById('browse').click(); return false;" src="whatever.jpg">
但它似乎没有起作用。如果我使用任何其他“可点击链接”而不是“浏览”,它会起作用,因此语法中没有明显的错误。
请注意,如果我修改这样的链接:
<a id="browse" onclick="alert('Hello'); return false;" href="javascript:;">Browse</a>
然后,当我点击图像时,我可以看到“Hello”弹出窗口。
我是JS / HTML的初学者,所以如果这是一个明显的问题...对不起;) 或者如果您知道更好的解决一般问题的方法(请不要使用jQuery),我将不胜感激:)
这是PlUpload的初始化部分:
var uploader = new plupload.Uploader({
browse_button: 'browse',
url: 'newupload.php',
});
uploader.init();
答案 0 :(得分:0)
将元素嵌入元素中,您可以单击将产生相同效果的图像。
<a href="..."><img src="..."></img></a>
答案 1 :(得分:0)
请尝试使用:
,而不是使用click()方法$('#browse').trigger("click");
这应该触发链接事件而不是监听事件,如果你不想使用jQuery,你可以简单地这样做:
document.getElementById('browse').onclick();
快乐的编码!