Как я могу добавить стили структуры в JQuery плагин - PullRequest
0 голосов
/ 15 января 2012

Я только что написал плагин jquery, который выполняет операции над таблицей (например, плагин сетки).

Плагин добавляет некоторые стили, такие как overflow:hidden;, к ячейкам и границам таблицы и ячеек (чтобы сохранить одинаковую ширину границы, я добавил: .MyTable {border-width:0 0 1px 1px;} и .MyTable > tr > td {border-width:1px 1px 0 0 }.

Теперь мне интересно, как и где поместить эти стили CSS.
Я могу поместить их во внешний файл CSS, но затем я заставляю пользователя добавить файл .css на свою страницу. Чтобы сделать плагин доступным для всех пользователей.Даже новые, это может быть препятствием. Пользователь может забыть добавить файл css или даже изменить его содержимое, чтобы чего-то добиться, и это заставит плагин работать ненадлежащим образом.
Кроме того, я хочу разрешитьпользователь может изменять вещи (например, ширину границы). В случае, если я помещаю CSS во внешний файл, пользователь может изменить все, что он пожелает, самостоятельно.

Другой вариант, я также могу назначать стили напрямую.в элементе jquery elem (с помощью команды elem.css (...)). Таким образом, пользователю не нужно иметь дело с файлом css для правильной работы, а другим - для всехТеперь я могу добавить опцию в плагин.Но, таким образом, я создаю неэффективный код и сливаюсь между поведением и дизайном.

Есть ли какая-либо другая возможность добавить стили к плагинам jquery?
Каков наилучший способ сделать это?

Я не говорю о стиле, который должен определять цвет или шрифт, но о стилях, которые необходимы для структуры, которую я создаю!

1 Ответ

1 голос
/ 15 января 2012

Вы можете динамически добавлять элемент <style> на страницу.Примерно так: http://jsfiddle.net/vpPpT/

$('<style>body { background-color: red; color: white; }</style>').appendTo('head');

Приведенный выше пример является просто одним из многих способов , вы можете создавать элементы DOM на лету.

ТакжеВот кто-то, кто пытался сделать что-то подобное (хотя по всем неправильным причинам):

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