Я использую делегирование событий в mootools.Я хочу знать номер строки, по которой щелкнули.Мое решение показано в этом jsfiddle : есть ли лучший способ, чем то, чем я сейчас занимаюсь?
Мой подход заключался в сравнении элементов, пока я не нашел соответствие.Можно ли использовать метод IndexOf?
(ниже приведены данные из jsfiddle на будущее)
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);
});
});