可能重复:
Trigger an event with Prototype
例如,javascript/prototype中的3个onclick事件。如何强制原型运行警报功能转储“第一!”,“第二!”然后“第三!”价值。谢谢,这是您可以用C/P编写的代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
document.observe("dom:loaded", function() {
$("go").observe("click", function() { alert('First!'); });
$("go").observe("click", function() { alert('Third!'); });
$("go").observe("click", function() { alert('Second!'); });
});
//]]>
</script>
<form>
<input id="go" type="button" value="Click me!" />
</form>
</body>
</html>发布于 2011-07-11 14:21:13
事件处理程序是JavaScript中的函数,函数是JavaScript中的主要公民。通常,中间对象包含作为数组的所有处理程序的列表。例如,在jQuery中,data('events')保存事件处理程序。除非prototype简单明了,否则您应该手动获取所有处理程序,对它们进行排序并将它们重新分配回来。
或
正如@gaby所说,您可以首先使用标记中的正确顺序绑定它们。
发布于 2011-07-11 14:34:11
这个怎么样:
var handlers = [func1, func2, func3];
$("go").observe("click", function() {
var i = 0, len = handlers.length;
for(i; i<len;i++)
handlers[i]();
});当然有一些改进,但这是一个普遍的想法
https://stackoverflow.com/questions/6651408
复制相似问题