2011-09-18 41 views

回答

3

該選擇器在原型中與在jQuery中相同。所不同的是,你必須使用$$功能樣機,然後遍歷每個選定的元素:

$$("#page > ul > li:last > a").each(function(element) { 
    eventFire(element, "click"); 
}); 

看起來原型沒有像jQuery的trigger的方法。你可以寫像在this answer發現了一個功能:

function eventFire(el, etype){ 
    if (el.fireEvent) { 
    (el.fireEvent('on' + etype)); 
    } else { 
    var evObj = document.createEvent('Events'); 
    evObj.initEvent(etype, true, false); 
    el.dispatchEvent(evObj); 
    } 
} 
+0

如果我用下面的方式,我將會有: $$(「#list> ul> li:last> a」)each(function(element){element.on('click' ,函數(E){// 警報(E); }); }); – vietean

+0

所以,我的問題是,我可以這樣做嗎?或者這裏有什麼不對? – vietean

+0

@vietean:它* *觸發所選擇的元素單擊事件:您發佈不綁定一個事件處理click事件jQuery代碼。 –

1
$$('#page>ul>li:last>a')[0].on('click',function(event){ 

}); 
+1

結束通話中有機磷農藥後不創建一個處理程序,它會觸發該事件。 –

+0

此外,選擇可以返回多個'了' –

+0

@Andrew惠特克,是的,你是正確的,那麼http://www.prototypejs.org/api/enumerable/each – Mike