2010-01-20 50 views
1

创建在浏览一个JavaScript文件的HTML元素的事件处理程序中,我看到了下面一行:激活与MooTool的扩展元素

this.close = new Element('a', {id:'close-btn', href: 'javascript:void(0);', 'class': this.typeprefix + '-deletebutton', events: {click: this.remove.bind(this)}}).inject(this.bit); 

我猜测,新元素()是一个MooTools的扩展元素。我似乎无法编程启动MooTool的点击事件。

我试图

document.getElementById('close-btn').onclick.apply(document.getElementById('close-btn')); 

,但什么都没有发生。下面的每以下行给了我一个未定义:

alert(document.getElementById('close-btn').click); 
alert(document.getElementById('close-btn').onclick); 
alert(document.getElementById('close-btn').events); 
alert(document.getElementById('close-btn').['events']); 

人对如何以编程方式触发锚的Click事件的任何想法? 。

回答

0
var evObj = document.createEvent('MouseEvents'); 
evObj.initMouseEvent(
    'click', true, true, window, 
    1, 0, 0, 0, 0, 
    false, false, true, false, 
    0, null 
); 
document.getElementById('close-btn').dispatchEvent(evObj); 

https://developer.mozilla.org/en/DOM/event.initMouseEvent

对于IE,你可以尝试 的document.getElementById( '近距离BTN')点击(); 或 document.getElementById('close-btn')。fireEvent(“onclick”);