Я пишу плагин, который создаст некоторые DIV и применит стили к ним при инициализации плагина. В приведенном ниже примере кода я делаю такие вещи, как применение .disableSelection()
к некоторым элементам.document.ready() на jQuery плагин init?
Первоначально у меня были эти вещи в обертке document.ready
, но затем читайте, что это не идеальное решение, потому что кто-то может вызвать плагин после загрузки документа. Я понимаю, что document.ready
запускает один раз, когда документ загружен, и все.
Если это так, то что я могу использовать вместо document.ready
для применения стилей и т. Д. При инициализации плагина?
$.examplepluginname = {
id: 'examplepluginname'
,version: '1.0'
,copyright: 'Copyright (c) 2013 Example Name'
,uri: 'http://www.example.com/'
,licensed: {
MIT: 'http://www.opensource.org/licenses/mit-license.php'
,GPL: 'http://www.gnu.org/licenses/gpl.html'
}
/*,plugin: function(prepare,sort){
aPluginPrepare.push(prepare); // function(settings){doStuff();}
aPluginSort.push(sort); // function(valuesAreNumeric,sA,sB,iReturn){doStuff();return iReturn;}
}*/
,defaults: { // default settings
searchDefaultText: 'Search & hit ENTER to add to list' //Text to show when user is not entering a search term
}
};
(function($) {
//Attach this new method to jQuery
$.fn.extend({
//pass the options variable to the function
examplepluginname: function(options) {
var userSettings = $.extend($.examplepluginname.defaults, options)
//Switcher for when the user presses enter before search results come back
,selectOnlyResult = false
//Arrow key navigation setting
,displayBoxIndex = -1
;
/*
RUN INITIALIZATION SETTINGS
*/
$("#availableItems").disableSelection();
displayAvailableItems();
//Set the display styles
$('#tagSearch').css({
'width': '100%',
'border-radius': '5px',
'outline': '0 none',
'padding': '2px 3px',
'font-style': 'italic'
});
return this.each(function() {
});
}
});
})(jQuery);
Я немного смущен. Если это плагин, который вы написали, вы должны применить эти стили как часть инициализации плагина на элементе ... –
@AnthonyGrist Что значит? Например, я намереваюсь кого-то вызвать '$ ('# examplepluginnamecontainer'). Examplepluginname();' и заставить плагин генерировать div и стили, необходимые для запуска плагина, точно так же, как jQueryUI. Только требуется, чтобы пользователь сделал один контейнер, и пусть плагин генерирует внутренности. –
Правильно, поэтому вам не нужно событие типа '$ (document) .ready()' вообще; это не имеет никакого отношения к событиям, насколько это необходимо. Вы выполняете ** все это ** внутри функции, которую они называют. –