避免浏览器重置onclick事件(原型)

时间:2010-07-04 11:24:58

标签: javascript events prototypejs

我点击事件的锚点很少:

$$('.someanchor').invoke('observe', 'click', somefunction );

单击锚点后,浏览器会滚动到顶部。 我尝试在return false的末尾插入somefunction,但它仍然向上滚动。

通常我会使用类似的东西:

Event.observe('somelement', 'click', somefunction, false);

但这不适用于元素集合。那么我如何从return false声明中invoke

2 个答案:

答案 0 :(得分:2)

somefunction中,在函数体的末尾添加以下内容(确保e是最后一个参数,并用于Event对象):

e.preventDefault();

答案 1 :(得分:2)

“e.preventDefault()”会阻止锚定默认行为,但不会阻止事件传播(冒泡)。我会使用“Event.stop(event)”来中和两者,只是为了安全起见。