有沒有一種方法,使用'invoke','observe'和'click'作爲參數,來訪問'正在調用'的項目正在迭代?Prototype.js,調用invoke觀察點擊,嘗試獲取單擊的元素。有關範圍的困惑
我這樣做:
1.
$$('.item').invoke('observe', 'click', function(event) {
// I want to access the .item that was clicked in here
});
我可以做
2.
$$('.item').first().observe('click', function(node) {
// I can access the .item right here with 'node'
})
我甚至可以做
3.
$$(".item").each(function(node) {
node.observe('click', function(event) {
// use 'node' here for the .item clicked
});
但我想知道是否有辦法做#1(速記方式),同時仍然訪問被點擊的元素。
有沒有辦法做到這一點?
嘗試使用'this'瓶蓋內 - 它應該是擴展元素,該事件發生在 - 你也可以使用'event.findElement()'這將返回擴展元素 –
不,實際上,invoke語句中的'this'指向被觸發的'event',而不是它被觸發的'element',這不是我所需要的。 –
+1,因爲這仍然是一個保留的關鍵字,JavaScript將根據詞彙範圍解釋爲「this」。 –