有人知道像使用jQuery的触发函数一样可以触发Prototype中的事件的方法吗?我已经使用observe方法绑定了一个事件侦听器,但是我也希望能够以编程方式触发该事件。提前致谢
3 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
event.simulate.js 符合您的需求。
我已经使用了几次,它就像一个魅力。它允许您手动触发本机事件,例如单击或悬停,如下所示:
$('foo').simulate('click');
这样做的好处是,所有附加的事件处理程序仍将执行,就像您自己单击该元素一样。
对于自定义事件,可以使用标准原型方法Event.fire()。
MMTTMM
TA贡献1869条经验 获得超4个赞
我不认为Prototype内置了一个,但是您可以使用它(未经测试,但至少应该向正确的方向发展):
Element.prototype.triggerEvent = function(eventName)
{
if (document.createEvent)
{
var evt = document.createEvent('HTMLEvents');
evt.initEvent(eventName, true, true);
return this.dispatchEvent(evt);
}
if (this.fireEvent)
return this.fireEvent('on' + eventName);
}
$('foo').triggerEvent('mouseover');
添加回答
举报
0/150
提交
取消