两个异步事件是第二个事件,具体取决于第一个事件



我在 .on() jQuery处理程序上创建一些东西

$('#idhere').on('click', function(){
   //create a couple of divs with a class
   });

现在,我也想在创建的DIV上添加一个事件,我尝试了:

$('.divcreated').bind('mouseover', function(){
   //do some magic
   });

由于某种原因,第二个事件永远不会触发,这可能是因为它们都是异步的。有什么想法触发第二个事件?

正如已经说的那样,当您尝试注册鼠标事件时,您的新DIV并未创建。因此,您可以为一个Div尝试这样的事情:

$('#idhere').on('click', function(){
   // creates the new div and assigns it to the $myNewDiv var
   var $myNewDiv = $( "<div></div>" );
   // register the event...
   $myNewDiv.on( "mouseover", function( event ) { ... }); 
   // add $myNewDiv to a container
});

我认为现在您可以编写解决方案。

绑定时必须存在一个元素,因此创建元素后必须绑定它,或者使用委托书 -

使用委托jQuery 1.7

$('body').on('mouseover', '.divcreated', function(){
       //do some magic
});

将事件处理程序绑定到body

- 在您绑定事件时存在 - 已准备就绪。

,它与更紧密的静态父元素更有效地结合了。

相关内容

  • 没有找到相关文章

最新更新