激活使用MooTool的扩展元素创建的HTML元素的事件处理程序

时间:2010-01-20 06:27:43

标签: javascript

在浏览JavaScript文件时,我看到以下行:

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);

我猜测新的Element()是一个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']);

任何人对如何以编程方式触发锚点击事件有任何想法?

1 个答案:

答案 0 :(得分: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( '紧密BTN')fireEvent( “点击”);