Pau*_*aul 7 javascript mootools
我在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>
Run Code Online (Sandbox Code Playgroud)
使用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);
});
});
Run Code Online (Sandbox Code Playgroud)
包含方法Elements返回的type()包括.如果浏览器不存在,MooTools将提供该方法的实现.考虑到这一点,你可以写:getChildrenArrayindexOf
$('Record_List').getChildren('div.Row').indexOf(rowElem);
Run Code Online (Sandbox Code Playgroud)
更新示例: http ://jsfiddle.net/andrewwhitaker/uJarB/