Rumah hujung hadapan web tutorial js jQueryUI如何自定义组件实现代码_jquery

jQueryUI如何自定义组件实现代码_jquery

May 16, 2016 pm 06:16 PM
Komponen tersuai

如何开始使用
首先用$.widget()方法开始定义你的组件,它只接收三个参数:第一个是组件名称,第二个是可选的基类组件(默认的基类是$.Widget),第三个是组件的原型。
组件名称必须包含命名空间,要注意的是,官方组件的命名空间是以‘ui'开头的,比如:‘ui.tabs'。我在下面的用‘我'的拼音(‘wo')。
复制代码 代码如下:

$.widget("yourNamespace.yourWidgetName",[yourBaseWidget],yourWidgetPrototype)

$.Widget基类含有一个重要的属性‘options',它用来定义公有参数,组件初始化时外部调用的参数会覆盖内部定义的参数;以及三个重要的私有的方法‘_create'、‘_init'、‘',前两个相当于构造函数的作用,按顺序执行,_create()方法执行之后会触发'create'事件。 _trigger()方法会将参数中的指定函数标准化为W3C事件,并且触发这个自定义事件。
另外还有三个公有方法‘enable',‘disable',‘destroy',分别表示启用、禁用和销毁组件。
这里很有意思的,是私有方法和公有方法的实现。jQuerUI Widget暴露的方法都是不以‘_'开头的:
复制代码 代码如下:

// prevent calls to internal methods
if ( isMethodCall && options.charAt( 0 ) === "_" ) {
return returnValue;
}

实际上,jQueryUI Widget还是保留了原始的API,比如这样使用:
复制代码 代码如下:

var $div = $('.demo:first');
var api = $div.data('divZoom');
// console.dir(api);
api.zoomIn();
// 对比
$div.divZoom('zoomIn');

一个实现完全私有变量的小技巧:
复制代码 代码如下:

(function($) {
var privateVar = '';
$.widget("wo.divZoom",{});
})(jQuery)

所有代码
复制代码 代码如下:

/*
* @by ambar
* @create 2010-10-20
* @update 2010-10-25
*/
(function($) {
var html = '
\
zoom in\
zoom out\
';
$.widget("wo.divZoom",{
_init : function() {
var self = this, opt = self.options, tgt = opt.target, $el = self.element ;
// 初始一次
if($('div.icon-zoom',$el).length) return;
$el.append(html);
self.target = ( tgt == '' ? $el : $el.find(tgt) );
// 检测初始值
var level = self.target.attr(opt.dataPrefix);
self.target.attr(opt.dataPrefix,level || opt.level[0]);
self.btnZoomIn = $el.find('span.zoom-in').click( $.proxy(self.zoomIn,self) );
self.btnZoomOut = $el.find('span.zoom-out').click( $.proxy(self.zoomOut,self) );
},
destroy : function(){
this.element.find('div.icon-zoom').remove();
},
options : {
level : [120,160,200],
target : '',
speed : 'normal',
dataPrefix : 'data-zoom-level',
zooming : null,
select : null,
show : null
},
currentLevel : function(){
var self = this, opt = self.options, lvl = Number(self.target.attr(opt.dataPrefix));
return $.inArray(lvl,opt.level);
},
zoomIn : function() {
this.zoom(this.currentLevel() + 1);
},
zoomOut : function() {
this.zoom(this.currentLevel() - 1);
},
zoom : function(i){
var self = this, opt = self.options,lvls = opt.level,$tgt = self.target;
if( i=lvls.length ) return;
var value = lvls[i],
originalValue = lvls[self.currentLevel()],
style = { width:value, height:value };
var data = { target : $tgt, css : style, originalCss : {width:originalValue,height:originalValue} };
var goon = self._trigger('start',null,data);
if(!goon) return;
$tgt.animate(style,
{
duration : opt.speed,
step : function(val) {
var css = { width:val, height:val };
self._trigger('zooming',null,$.extend({},data,{css:css}));
},
complete : function(){
$tgt.attr(opt.dataPrefix,value);
self._trigger('stop',null,data);
}
});
}
});
})(jQuery)

在页面上调用
复制代码 代码如下:







示例代码:
复制代码 代码如下:





jQueryUI









原文




a


b




Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan komponen tersuai model V dalam Vue? Bagaimana untuk melaksanakan komponen tersuai model V dalam Vue? Jun 11, 2023 am 09:28 AM

Vue.js ialah rangka kerja JavaScript sumber terbuka yang sangat popular dalam bidang pembangunan bahagian hadapan moden Ia memudahkan banyak masalah dalam proses pembangunan bahagian hadapan dan menjadikannya lebih mudah untuk membangunkan aplikasi yang kompleks melalui pembangunan komponen. Salah satu ciri yang sangat berguna ialah dengan mudah melaksanakan pengikatan data dua hala dalam komponen menggunakan arahan model-v. Walaupun Vue.js menyediakan banyak komponen input terbina dalam, jika anda memerlukan komponen input tersuai, anda boleh memenuhinya dengan melaksanakan komponen tersuai model v.

Cara uniapp melaksanakan menggunakan komponen tersuai untuk mencapai penggunaan semula halaman Cara uniapp melaksanakan menggunakan komponen tersuai untuk mencapai penggunaan semula halaman Oct 20, 2023 am 08:38 AM

UniApp ialah rangka kerja pembangunan merentas platform berdasarkan Vue.js, yang boleh membangunkan aplikasi untuk berbilang platform secara serentak seperti program mini, H5 dan App. Dalam UniApp, kami boleh menggunakan komponen tersuai untuk mencapai penggunaan semula halaman dan meningkatkan kecekapan pembangunan. Berikut akan memperkenalkan cara menggunakan komponen tersuai untuk mencapai penggunaan semula halaman dan memberikan contoh kod. 1. Buat komponen tersuai Pertama, buat folder baharu dalam direktori komponen projek UniApp dan namakannya tersuai.

Kaedah reka bentuk dan pembangunan UniApp untuk melaksanakan pembangunan komponen dan modul tersuai Kaedah reka bentuk dan pembangunan UniApp untuk melaksanakan pembangunan komponen dan modul tersuai Jul 04, 2023 pm 05:37 PM

UniApp ialah rangka kerja pembangunan merentas platform berdasarkan Vue.js Ia boleh merealisasikan pembangunan berbilang terminal (termasuk apl, program mini, H5 dan platform lain) melalui satu set kod. Berbanding dengan pembangunan asli tradisional, UniApp menyediakan cara yang lebih cekap dan mudah untuk membangunkan aplikasi merentas platform. Dalam artikel ini, kami akan memperkenalkan cara UniApp melaksanakan pembangunan komponen dan modul tersuai, serta memberikan kaedah reka bentuk dan pembangunan yang sepadan. 1. Kaedah reka bentuk dan pembangunan komponen tersuai Reka bentuk komponen: Pertama, kita perlu mentakrifkan komponen tersuai dengan jelas

Langkah dan pertimbangan untuk menyesuaikan komponen menggunakan fungsi Vue.extend Langkah dan pertimbangan untuk menyesuaikan komponen menggunakan fungsi Vue.extend Jul 25, 2023 am 08:49 AM

Langkah dan langkah berjaga-jaga untuk menggunakan fungsi Vue.extend untuk menyesuaikan komponen Dalam Vue.js, anda boleh menyesuaikan komponen dengan mudah menggunakan fungsi Vue.extend. Komponen tersuai membolehkan kami mencipta komponen boleh guna semula berdasarkan keperluan perniagaan dan memanggilnya di tempat yang berbeza. Artikel ini akan memperkenalkan langkah-langkah untuk menggunakan fungsi Vue.extend untuk menyesuaikan komponen dan beberapa perkara yang perlu diberi perhatian, dan menunjukkannya melalui contoh kod. Langkah 1: Import fungsi Vue.js dan Vue.extend untuk memulakan kumpulan tersuai

Kaedah dan contoh komponen tersuai menggunakan fungsi Vue.extend Kaedah dan contoh komponen tersuai menggunakan fungsi Vue.extend Jul 24, 2023 pm 06:21 PM

Kaedah dan contoh komponen tersuai menggunakan fungsi Vue.extend Vue ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Ia menyediakan cara yang mudah dan intuitif untuk mencipta komponen boleh guna semula dan boleh gubah. Cara standard untuk mentakrifkan komponen dalam Vue ialah menggunakan fungsi Vue.component, tetapi dalam beberapa kes kita mungkin perlu mencipta komponen secara dinamik. Vue menyediakan fungsi Vue.extend untuk membantu kami mencapai matlamat ini. Vue.exten

Bagaimana untuk melaksanakan borang responsif dan komponen borang tersuai di bawah Vue? Bagaimana untuk melaksanakan borang responsif dan komponen borang tersuai di bawah Vue? Jun 27, 2023 pm 03:11 PM

Sebagai rangka kerja JavaScript yang biasa digunakan, Vue menyediakan alatan yang sangat mudah dan berkuasa untuk memproses input borang. Vue menyediakan sifat dan peristiwa reaktif yang membolehkan kami mengendalikan input, pengesahan dan penyerahan borang dengan mudah. Artikel ini akan memperkenalkan cara melaksanakan borang responsif dan komponen borang tersuai di bawah Vue. 1. Pelaksanaan borang responsif Vue Model Borang yang mengikat Vue menyediakan cara yang sangat mudah untuk melaksanakan input data borang dan respons automatik. Melalui arahan model-v, kita boleh menukar borang

Tutorial sambungan Servlet: Cipta komponen tersuai untuk memenuhi pelbagai keperluan perniagaan Tutorial sambungan Servlet: Cipta komponen tersuai untuk memenuhi pelbagai keperluan perniagaan Feb 19, 2024 pm 02:03 PM

: 1. Gambaran Keseluruhan Servlet Servlet ialah komponen pengaturcaraan bahagian pelayan yang digunakan secara meluas dalam pembangunan JAVAWEB Berbanding dengan skrip CGI tradisional seperti CGI, ia mempunyai banyak kelebihan. Pertama sekali, Servlet adalah berdasarkan teknologi Java, jadi ia boleh disepadukan dengan mudah ke dalam aplikasi JavaEE. Kedua, komponen Servlet boleh digunakan semula, yang membantu meningkatkan kecekapan pembangunan dan kualiti kod. 2. Sambungan Servlet Servlet bukan komponen yang tidak boleh diubah Pembangun boleh memanjangkannya mengikut keperluan mereka sendiri untuk mencapai fungsi tertentu. Terdapat terutamanya cara berikut untuk melanjutkan Servlet: Mewarisi kelas Servlet: Ini adalah cara paling mudah, pembangun boleh mewarisi kelas Servlet

fungsi createClass dalam Vue3: API komponen tersuai fungsi createClass dalam Vue3: API komponen tersuai Jun 18, 2023 pm 07:27 PM

Vue3 ialah rangka kerja JavaScript yang sangat berkuasa, terasnya ialah contoh dan komponen Vue. Kejadian Vue dibuat dengan pilihan yang ditentukan dan komponen ditakrifkan oleh API komponen Vue. Fungsi createClass dalam Vue3 ialah salah satu daripada API komponen. Apakah fungsi createClass? Fungsi createClass Vue3 menyediakan cara deklaratif untuk menentukan komponen. Ini adalah konsep yang sangat penting kerana ia memberi peluang untuk penggunaan semula komponen dan

See all articles