Javascript / jQuery:mouseenter事件未正常触发

时间:2011-01-09 12:54:36

标签: javascript jquery jquery-ui

我有这样的代码

$('#singleColumn' + time).show(SHOW_COMPONENT_SPEED)
    .live('mouseenter', function() { $('#propertiesButtonSingle' + time).fadeIn(FADEIN_SPEED); })
    .live('mouseleave', function() { $('#propertiesButtonSingle' + time).fadeOut(FADEOUT_SPEED); });

当我在盒子上触发mouseenter / mouseleave事件时,我用它来显示/隐藏按钮。

问题是我的页面是动态的,即我继续使用JQuery .html()函数向页面添加新的HTML。发生的事情是,鼠标事件仅针对我添加的最后一个框发出(我通过拖放添加它们):实际上它适用于第一个框,如果我添加第二个框,事件会正确地为它激活但是当我把鼠标移到第一个盒子上没有任何反应。如果我添加第三个框,第二个框也会停止工作,等等......

我发布的代码是针对某种类型的框,但对于其他类型,除了选择器名称之外,它实际上是相同的。

1 个答案:

答案 0 :(得分:0)

看看.delegate() - http://api.jquery.com/delegate

您可以将事件绑定到DOM树上方的对象并监听...