Показать сообщение отдельно
  #1 (permalink)  
Старый 06.09.2011, 03:27
Аспирант
Отправить личное сообщение для kichSman Посмотреть профиль Найти все сообщения от kichSman
 
Регистрация: 16.10.2009
Сообщений: 69

как предотвратить повторное создание функции
Уважаемые форумчане, есть некий код плагина, скрипт в упрощенном варианте представлен ниже.
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 очень часто появляется (при фокусе) и исчезает, по этой причине, советы типа: вызвать единожды оба клика за пределами плагина - не вариант.

При существующем коде, тестовое алерт-сообщение выскакивает нарастающим количеством при каждом новом получении фокуса текстовым полем.

Заранее признателен.
Ответить с цитированием