如何更多次使用此功能:
$('GotoHome').addEvent('click', function(event) {
event = new Event(event).stop();
scroll.toElement('middlerightwrapper');
});
如果我使用ID="GotoHome"
创建多个链接,则它不再有效,只有一个ID。
我不想复制像GotoHome1,GotoHome2,GotoHome3
答案 0 :(得分:3)
我建议在您的元素中添加一个公共类,并使用dollars function添加点击处理程序:
<强> HTML 强>
<a href="" class="common-class" id="GotoHome1">Goto Home 1</a>
<a href="" class="common-class" id="GotoHome2">Goto Home 2</a>
<a href="" class="common-class" id="GotoHome3">Goto Home 3</a>
<强> Mootools的强>
$$('.common-class').addEvent('click', function(event) {
event = new Event(event).stop();
scroll.toElement('middlerightwrapper');
});
dollar函数返回与选择器匹配的所有元素的数组。
答案 1 :(得分:1)
你不能只有一个带有in的元素(例如:id必须在你的页面上是唯一的),它不是mootools问题或要求,它是一个html(虽然浏览器原谅了很多松散的程序)
你应该依赖id以外的类
$$('.GotoHome').addEvent('click', function(event) {
event = new Event(event).stop(); scroll.toElement('middlerightwrapper'); }
);
或者,如果你有一个封闭容器,你可以使用事件委托来拥有一个入口点而不是多个addEvent函数:
$('container-id').addEvent("click:relay(.GotoHome)", function(event) {
event = new Event(event).stop(); scroll.toElement('middlerightwrapper'); }
);
我不在我的开发工作站上,无法检查事件管理器中的中继语法,值得检查
修改强>