実行できる 1 つのアプローチは、実装する必要がある特定のメソッド/プロパティのカスタム値で jquery.ui.menu プロトタイプを拡張することです。$.extend を使用して jquery でこれを行う新しいウィジェットを作成できます。メニュー ウィジェットを拡張してフォーム入力を使用する良い例を次に示します (作成者: Kris Borchers):
デモページはこちら:
http://kborchers.github.com/jquery-ui-extensions/menu/inputmenu.html
スクリプトは次のように定義されています。
//これはコア jquery ui ライブラリです < script src="http://code.jquery.com/ui/jquery-ui-git.js" >< /script > //これは拡張するカスタム入力メニュー ウィジェットですデフォルトのメニュー ウィジェット < script type="text/javascript" src="jquery.ui.menu.inputmenu.js" >
3. デフォルトのメニュー ウィジェットを拡張するために、次のパターンを評価します。
/*
* jQuery UI Input Menu Extension
*
* Copyright 2010, Kris Borchers
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/kborchers/jquery-ui-extensions
*/
(function( $ ) {
**var proto = $.ui.menu.prototype,
originalRefresh = proto.refresh;
$.extend( proto, {**
refresh: function() {
originalRefresh.call( this );
var that = this;
......
...
..
.
ここで github ソースを参照してください:
https://github.com/kborchers/jquery-ui-extensions/blob/master/menu/jquery.ui.menu.inputmenu.js
このパターンに従えば、ニーズに合わせてウィジェットをカスタマイズできます。
お役に立てれば。
クリス