单击元素打开输入文件对话框,fireEvent Mootools相当于jQuery触发器

单击元素打开输入文件对话框,fireEvent Mootools相当于jQuery触发器,jquery,mootools,Jquery,Mootools,试图隐藏输入文件,以便为所有浏览器设置样式,并希望使用js启动“文件上载”对话框 我的印象是mootools中的.firevent(eventType)与jQuery中的.trigger(eventType)相同 jQuery: mootools: 但情况似乎不一样 非常感谢您的帮助仅供大家参考,这可用于根据您的喜好设置浏览按钮的样式。您可以完全隐藏输入文件并在任何元素上激发事件 jquery: mootools: 我参加了考试, FF IE7及以上 歌剧院 游猎 铬 但我们仍然没有找到为什么f

试图隐藏输入文件,以便为所有浏览器设置样式,并希望使用js启动“文件上载”对话框

我的印象是mootools中的
.firevent(eventType)
与jQuery中的
.trigger(eventType)
相同

jQuery:

mootools:

但情况似乎不一样


非常感谢您的帮助

仅供大家参考,这可用于根据您的喜好设置浏览按钮的样式。您可以完全隐藏输入文件并在任何元素上激发事件

jquery:

mootools:

我参加了考试, FF IE7及以上 歌剧院 游猎 铬
但我们仍然没有找到为什么fireEvent与jquery中的触发器不同的原因。奇怪的是:它似乎在
#file
上触发了click事件,但没有触发与之关联的choose file操作。只是玩了一会儿。看起来好像mootools.fireEvent只会激发mootools通过addEvent附加的事件处理程序,即不是本机浏览器事件。只是出于兴趣$('file')。click()-似乎工作得很好。我对mootools了解不够,无法告诉您这样做是否合适?只是出于兴趣-底部的子句“这不会触发DOM事件”@Benn-这是因为
单击
/
onclick
属性是
DOM
方法,而不是mootools添加的方法。@Benn,这两个图书馆的实施有不同的范例。jQuery将您正在使用的DOM元素包装到jQuery对象中。与原型库类似,Mootools将函数添加到实际的DOM元素本身,因此.click()不是Mootools函数,而是DOM元素,因为$('file')返回的obj是一个具有mootool扩展名的DOM元素,而jQuery中的$('#file')返回一个包含DOM元素(0或更多)的jQuery对象。无论如何虽然我可能会补充我的发现,因为它也让我感兴趣。
$('#trig_file').click(function(){
    console.log('click');
    $('#file').trigger('click');
});
$('trig_file').addEvent('click', function(){
    console.log('click');
    $('file').fireEvent('click');
});​​
$('#trig_file').click(function(){
    console.log('click');
    $('#file').trigger('click');
});​
$('trig_file').addEvent('click', function(){
    console.log('click');
    $('file').click();
});​