Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2014, 23:53
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

Как можно добавить метод в плагин?
Здравствуйте.
Есть маленький плагин который реализует навигацию постраничную.
Разметка html (Прилетает с сервера). 4 кнопки и поле input.
<div id='navigTovars'>
	<div class="vhorButton" data-nav='pFirst'></div>
	<div class="vhorButton" data-nav='pPrev'></div>
	
	<span>Страница <input value='{current_page}' type='text' size='5' /> из <b>{total_pages}</b></span>

	<div class="vhorButton" data-nav='pNext'></div>
	<div class="vhorButton" data-nav='pLast'></div>

	<div class="vhorButton pReload" data-nav='pReload'></div>
</div>


$.fn.myPagination = function(callback){
	if( ! this.length) return;

	this.find('SPAN INPUT').livequery('keypress',function(e){
		if(e.keyCode==13) callback($(this).val());
	})

	this.find('.vhorButton').livequery('click',function(){
		var i = $(this).parent().find('SPAN INPUT');
		var p = parseInt(i.val());
		switch($(this).data('nav')){
			case "pNext" : p++; break;
			case "pPrev" : p--; break;
			case "pFirst" : p = 1; break;
			case "pLast" : p = i.next('B').text(); break;
			case "pReload" : break;
		}
		callback(p);
	})
}

// Используем так:
$("#navigTovars").myPagination(function(p){
	// Сюда прилетает страница для переход к нужной стр.
        // Можно сделать AJAX запрос или просто location.href
})


А как можно в плагин добавить ещё метод или функционал что бы просто можно было вызывать событие click для любой из кнопок.

Что то вроде:
$('selector').on('click', function(){});
$('selector').click();


Спасибо...

Последний раз редактировалось Evgeny_Dedov, 10.12.2014 в 00:16.
Ответить с цитированием
  #2 (permalink)  
Старый 10.12.2014, 00:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Evgeny_Dedov,
без плагина
$('#navigTovars').on('click','[data-nav="pFirst"]', function(){});
$('[data-nav="pFirst"]').click();
Ответить с цитированием
  #3 (permalink)  
Старый 10.12.2014, 00:40
Аспирант
Отправить личное сообщение для Evgeny_Dedov Посмотреть профиль Найти все сообщения от Evgeny_Dedov
 
Регистрация: 14.07.2013
Сообщений: 32

Сообщение от рони Посмотреть сообщение
Evgeny_Dedov,
без плагина
$('#navigTovars').on('click','[data-nav="pFirst"]', function(){});
$('[data-nav="pFirst"]').click();
без плагина... не подходит.
потому что мне нужно использовать данную навигацию как минимум в 10 местах проекта, и местами по 2 блока навигации на странице, а это получиться тупое дублирование кода.

Нужно как то добавить метод в плагин, блин уже всю голову сломал и гугл до 20 стр. перевернул...
Ответить с цитированием
  #4 (permalink)  
Старый 10.12.2014, 02:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

Сообщение от рони
$('#navigTovars').on('click','[data-nav="pFirst"]', function(){});
то есть это вы в плагин добавить не можите заменив '#navigTovars' на this или поставить вашу функцию в любую из строк 12 - 15
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написал коряво плагин на JS - он работает, а как сделать лучше? Теги: Массив, replace alexben Общие вопросы Javascript 2 11.02.2012 15:21
как можно добавить текстовое поле не создавая его на сцене по средствам инструментов Sadist_dead Flash 0 27.01.2012 12:52
Как можно отловить id который добавил с помощью append() ? saturn Элементы интерфейса 4 17.01.2012 01:35
Как можно совместить 2 "одинаковые javascript но разные внутри" в одну страницу?..ато rashid86 Элементы интерфейса 2 25.04.2011 22:49
Как добавить свой блог в раздел feeds этого сайта IzumeRoot Ваши сайты и скрипты 13 30.10.2008 21:11