Как мне кодировать плагин jQuery, чтобы использовать его как String.myPlugin () вместо Selector.myPlugin ()? - PullRequest
0 голосов
/ 19 октября 2011

Я играл с jQuery в последнее время, и теперь мне нужна функция для строк, и я хочу выполнить ее так:

var str = "mystring";
if( str.myPlugin( ) )
{

}

Но все примеры, которые я нашел для плагинов jquery, могут быть толькоиспользуется как $(selector).myPlugin(); Если я применяю их к строке, я получаю «... не функция».

Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 19 октября 2011

Когда вы создаете строку, то вы действительно создаете новый экземпляр объекта String.

var str = new String("mystring");

Вы можете добавить методы ко всем экземплярам объекта, используя прототип объекта.

String.prototype.myPlugin = function(){
  alert("worky!");
}

var str = "mystring";
str.myPlugin();

Добавление новых методов к нативным объектам, таким как объект String, обычно вызывает недовольство из-за возможных конфликтов имен.

Редактировать: просто чтобы добавить пояснения.

Это не метод jQuery, и jQuery не требуется для создания методов такого типа.

0 голосов
/ 19 октября 2011

посмотрите на этот github https://github.com/addyosmani/jquery-plugin-patterns

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