как предотвратить повторное создание функции 
		
		
		
		Уважаемые форумчане, есть некий код плагина, скрипт в упрощенном варианте представлен ниже. 
	
var $this = $(':text');
function showList(){
	$(document).click( function(e){
		if ( e.target !== $this.get(0) ){ $('ul').hide() };
	});
	
	$('ul').show()
		.children('li').click(function(e){
			e.stopPropagation();
			alert('Selected ME');
		});
}
$this.delegate( 'focusin', showList() );
Так вот, вопрос в следующем, как предотвратить повторное создание функций "Клика" для документа и элементов LI. Суть в следующем, указанный скрипт прописан в самом плагине, элемент UL очень часто появляется (при фокусе) и исчезает, по этой причине, советы типа: вызвать единожды оба клика за пределами плагина - не вариант. При существующем коде, тестовое алерт-сообщение выскакивает нарастающим количеством при каждом новом получении фокуса текстовым полем. Заранее признателен.  | 
	
		
 
var $this = $(':text'),
    assignedEvent = false;
  
function showList(){
    var ul = $('ul').show();
    if ( !assignedEvent ) {
        assignedEvent = true;
        $(document).click( function(e){ 
            if ( e.target !== $this.get(0) ){ $('ul').hide() }; 
        }); 
        ul.children('li').click(function(e){ 
            e.stopPropagation(); 
            alert('Selected ME'); 
        });
    }
} 
$this.delegate( 'focusin', showList() );
 | 
	
		
 Цитата: 
	
  | 
	
		
 
var $this = $(':text');
function showList(){
	$(document).unbind("click.gavnoplugin").bind("click.gavnoplugin", function(e){
		if ( e.target !== $this.get(0) ){ $('ul').hide() };
	});
	
	$('ul').show()
		.children('li').unbind("click.gavnoplugin").bind("click.gavnoplugin", function( e ){
			e.stopPropagation();
			alert('Selected ME');
		});
}
$this.delegate( 'focusin', showList );
 | 
| Часовой пояс GMT +3, время: 15:35. |