Я наткнулся на этот тип проблемы сам. Кажется, что события связывания и события инициализатора - это не одно и то же, поймите, и вы не можете вызвать события инициализатора. Например, Binding to 'resizecreate' должен работать, но не будет той же функцией, что вы определили в функции 'create' инициализатора.
Попробуйте определить ваши события так:
//This should define all your events
$('.selector').resizeable().bind({
resizecreate : function(event,ui) {...},
resizestart : function(event,ui) {...},
resize : function(event,ui) {...},
resizestop : function(event,ui) {...},
});
Вы должны быть в состоянии вызвать эти события как:
//You can trigger the events by doing:
$('.selector').trigger('resizecreate');
$('.selector').trigger('resizestart');
$('.selector').trigger('resize');
$('.selector').trigger('resizestop');
Также обратите внимание, что обратные вызовы будут срабатывать, когда вы работаете с виджетом (т.е. изменяете размер контейнера) как обычно при определении обратных вызовов событий с помощью метода bind.
РЕДАКТИРОВАТЬ : Хорошо, я думаю, что решил это, или, по крайней мере, это сработало для меня. Поскольку событие resizecreate возникает только при создании виджета с изменяемыми размерами, вы должны привязаться к нему перед созданием виджета.
В следующем примере определяется виджет с изменяемыми размерами, который запускает два оповещения: одно из определения привязки, одно из инициализатора.
HTML
<div id="resizable" class="ui-widget-content">
<h3 class="ui-widget-header">Resizable</h3>
</div>
JavaScript
$(function() {
$( "#resizable" ).bind('resizecreate',function() {
alert('BIND');
}).resizable({
'create' : function() {
alert('INITIALIZER');
}
});
});
Также обратите внимание, что при вызове $('#resizable').trigger('resizecreate');
будет запущен обратный вызов, предоставленный функции привязки, как отмечалось ранее (в этом случае окно предупреждения с «BIND»).