代码之家  ›  专栏  ›  技术社区  ›  Norbert Pushparaj Yuvaraj

下拉列表不适用于新添加的元素

  •  2
  • Norbert Pushparaj Yuvaraj  · 技术社区  · 14 年前

    我在一个页面上有多个dl元素。在每个元素的末尾,我有一个dd标签作为下拉列表,其中包括元素的选项(如edit、delete等)

    以下是下拉列表的jQuery:

    $('dd.optiuni').mouseover(function() {
        $(this).find('ul').show();
    });
    
    $('dd.optiuni').mouseout(function() {
        $('dd.optiuni ul').hide();
    });
    

    现在在dl标记之前,我有一个input和一个submit按钮来添加新的dl,并使用jQuery添加它们,而不必重新加载页面。问题是新元素添加后,末尾的dd似乎不起作用。

    如何使以前的代码识别已将新元素添加到页面中?

    $(function() { // ie7 z-index fix
        var zIndexNumber = 1000;
        $('dl').each(function() {
            $(this).css('zIndex', zIndexNumber);
            zIndexNumber -= 10;
        });
    });
    
    1 回复  |  直到 14 年前
        1
  •  2
  •   karim79    14 年前

    使用 .live .delegate

    $('dd.optiuni').live("mouseover", function() {
        $(this).find('ul').show();
    });
    
    $('dd.optiuni').live("mouseout", function() {
        $('dd.optiuni ul').hide();
    });