2010-01-20 73 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」);