5

我试图在鼠标单击时将焦点集中在 div 内的特定“部分”内。我编写了以下代码行:

$('#my-div-id').children('.my-section-class').on({
    'mousedown' : function(e){
        var $item = $(this);
        $item.focus();
    }       
});

根据一些 if 语句,这些部分被添加到 div 内的 for 循环中。

div 内的“my-section-class”类有五个部分,$('#my-div-id').children('.my-section-class').length返回 5。但控制永远不会出现在我的函数中。

在上面的代码中,如果我忽略了.children('.my-section-class'),每当我在 div 内单击时,控件就会进入我的函数。但我想关注特定部分而不是整个 div。

我也尝试过$('#my-div-id').children('.my-section-class').live('click',function(event),但这给出了相同的行为。如果我硬编码特定部分的 ID 而不是使用children()函数,我将在函数内部获得控制权。

编辑

html代码是使用<c:forEach>标签添加的,看起来像这样 <c:ForEach ...> <section class="my-section-class">...</section> </c:ForEach>

4

1 回答 1

1

尝试

$('#my-div-id').on('mousedown', '.my-section-class', function(e) {
    var $item = $(this);
    $item.focus();
});
于 2013-08-13T06:51:43.417 回答