Sto utilizzando la delega dell'evento in mootools. Voglio sapere il numero di riga che è stato cliccato. La mia soluzione è mostrata in questo jsfiddle: c'è un modo migliore di quello che sto facendo attualmente?Mootools ottiene l'indice figlio di un elemento dal suo genitore
Il mio approccio era di confrontare gli elementi fino a quando ho trovato la corrispondenza. C'è un metodo IndexOf che potrei usare?
(Ciò che segue è i dati dal jsfiddle per il futuro)
HTML:
<div id="Record_List">
<div class="Row">
<input type="submit" name="Row" value="Edit"/>
</div>
<div class="Row">
<input type="submit" name="Row" value="Edit"/>
</div>
</div>
Javascript:
window.addEvent(
'domready',
function()
{
$('Record_List').addEvent(
'click:relay(input)',
function(evt, target)
{
evt.stop();
var rowElem = target.getParent();
var rowNumber = -1;
$('Record_List').getChildren('div.Row').each(
function (el, num)
{
if (rowElem === el)
{
rowNumber = num;
}
});
// Find the position of the row and display it here:
alert('Row number: ' + rowNumber);
});
});