Вот jsfiddle, jsfiddle.net / kqreJ
Так что я использовал .bind без проблем для этой функции, но затем я загрузил больше обновлений на страницуи обнаружил, что .bind не работает для контента, импортированного на страницу, а только для контента, уже находящегося на странице!Отлично!
Так что я переключил его на .delegate, что довольно круто, но теперь я не могу понять, как .bind .unbind моей функции, как это было ???
$('#maindiv').undelegate(".open","mouseup").delegate(".open","mouseup",function(event){
var $this = $(this), handler = arguments.callee;
$this.unbind('mouseup', handler);
var id = $(this).attr("id");
var create = 'nope';
var regex = /\d+$/,
statusId = $('#maindiv .open').toArray().map(function(e){
return parseInt(e.id.match(regex));
});
var divsToCreate = [ parseInt(id) ];
$.each(divsToCreate, function(i,e)
{
if ( $.inArray(e, statusId) == -1 ) {
create = 'yup';
}
});
if( create == 'yup' ) {
if(id) {
$.ajax({
type: "POST",
url: "../includes/open.php",
data: "post="+ id,
cache: false,
success: function(html) {
$('.open').html(html);
$this.click(handler);
}
});
}
}
});
Вы можете увидеть по демоверсии, что она по-прежнему создает несколько экземпляров и не является обязательной?Я ломал голову, пытаясь понять это.