Изменение скрипта / способ остановить выполнение скрипта - PullRequest
0 голосов
/ 28 июня 2011

У меня есть следующий пример формы: LIVE DEMO

Работает на jNice (полный сценарий): Версия без сжатия

В проектеВ настоящее время я работаю над ним - мне нужна его функциональность только частично - в других частях нет смысла.

Сценарий вызывается путем добавления 'class = "jNIce" к элементу формы.

Я ищу:

  • либо изменение его «начальной точки» на элемент div (не форму)
  • или способ прекратить выполнение на некоторых его частях

Есть предложения, с чего мне начать?Любая помощь высоко ценится.

Пит

Ответы [ 2 ]

1 голос
/ 29 июня 2011

После проверки этих плагинов я обнаружил, что этот плагин имеет простые объяснения в своем исходном коде. Так что я проверил его пару минут и нашел ответ на ваши вопросы.

Во-первых, вы хотите изменить начальную точку с <form> на <div> или что-то еще. Откройте код плагина jNIce (.js) и прокрутите до конца файла, затем измените эту строку:

/* Automatically apply to any forms with class jNice */ $(function(){$('form.jNice').jNice(); });

до:

/* Automatically apply to any forms with class jNice */ $(function(){$('div.jNice').jNice(); });

А в body html просто удалите место class="jNice" в <div>, в котором есть form элементов (input, select, button и т. Д.). Плагин автоматически изменит их стиль.

Во-вторых, вы сказали, что хотите остановить некоторые изменения в своих изменениях. Перейдите к строке 27 в плагине jNice, и вы увидите, что:

$('input:submit, input:reset, input:button', this).each(ButtonAdd); $('button').focus(function(){ $(this).addClass('jNiceFocus')}).blur(function(){ $(this).removeClass('jNiceFocus')}); $('input:text:visible, input:password', this).each(TextAdd); /* If this is safari we need to add an extra class */ if (safari){$('.jNiceInputWrapper').each(function(){$(this).addClass('jNiceSafari').find('input').css('width', $(this).width()+11);});} $('input:checkbox', this).each(CheckAdd); $('input:radio', this).each(RadioAdd); $('select', this).each(function(index){ SelectAdd(this, index); });

Если вы хотите, чтобы jNice прекратил изменять элементы form, которые вам не нравятся, просто оставьте комментарий \\ или удалите его строку. Например, я не хочу использовать стиль select box, я добавил комментарий:

\\$('select', this).each(function(index){ SelectAdd(this, index); });

Надеюсь, вы нашли это полезным:)

0 голосов
/ 29 июня 2011

Найден способ изменить вызов скрипта jNice:

В одной строке перед последней мы имеем:

$(function(){$('form.jNice').jNice();   });

, если мы изменим это на (form -> div (или что-то еще)мы хотим))

$(function(){$('div.jNice').jNice();    });

Таким образом, мы можем вызывать jNice для всего, что захотим (обертка элемента или элемент сам).

Reg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...