,它与更紧密的静态父元素更有效地结合了。
我在 .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
的
- 在您绑定事件时存在 - 已准备就绪。