Я часто использую live с успехом в своих плагинах в качестве пользовательской опции.Вот простой пример, который добавляет предупреждение к элементам, по которым щелкают:
$.fn.clickAlert = function(settings) {
settings = $.extend({live: false}, settings);
function clickAlertFn() {
alert('Clicked!');
}
if (settings.live) {
return this.live('click', clickAlertFn);
} else {
return this.click(clickAlertFn);
}
};
// this will only work on existing `a` elements with class foo
$('a.foo').clickAlert();
// this will work on existing and future `a` elements with class bar
$('a.bar').clickAlert({live: true});
В этом примере все, что будет нормально работать с $ ('...'). Live ('click', ...') будет работать с $ (' ... '). clickAlert ({live: true});
Еще одна вещь, в большинстве дизайнов плагинов вы делаете что-то вроде этого:1008 * К сожалению, использование live внутри цикла each
не сработает.