JQuery on event не является обязательным для несуществующих элементов
Ok здесь пример jsfiddle
Как вы можете видеть, когда вы зависаете, он не запускает событие mouseover
Как я могу решить эту проблему ?
Я использую Jquery 1.9
<div id='superdiv'>Click Me</div>
$(function () {
$('#superdiv').on('click', function (event) {
$('body').append('<div id="super">another');
});
$('#super').on('mouseover', function (event) {
alert('not working');
});
});
на JavaScript
3 ответов
вы должны использовать "делегат", как это (для предоставления " live")
$('body').on('mouseover', '#super', function (event) {
вы также можете обернуть событие мышью в функцию и вызывать его при добавлении новых элементов, которые вы хотите затронуть. Таким образом, вопрос WickyNilliams указал на вас не повлияет.
$(function () {
$('#superdiv').on('click', function (event) {
$('body').append('<div id="super">another');
mouse();
});
function mouse () {
$('#super').on('mouseover', function (event) {
alert('not working');
});
});
mouse();
}
div, который вы хотите создать onclick, не закрыт тегом ' '.
Что делать, если вы попробуете следующий код:
$(function () {
$('#superdiv').on('click', function (event) {
$('body').append(
$('<div/>',{ 'id' : 'super', 'text' : 'tetet'}).mouseover(function(event) {
alert('test');
})
);
});
});