0

ソースコードに目を通していui.dialogますが、これはおそらくこれまでで最高の学習体験です。

私はそれらが多くのことを参照uiDialogしているのを見て、uiDialog がウィジェット自体を参照していることは明らかです。だから私は自分のウィジェットでこれを試しましたnamespaceWidgetNameが、未定義です。正しく理解uiDialogしているか、ウィジェット内で自分のウィジェットを参照するにはどうすればよいですか?

(function( $, undefined ) {

    $.widget("dbd.myWidgetName", {
        options: {
            //autoOpen: true,
        },
        _create: function() {
        },
        widget: function() {
             return this.dbdMyWidgetName;
        }
// rest of widget code
4

1 に答える 1

1

ui.dialogの_create関数には、次の行があります。

uiDialog = (self.uiDialog = $('<div></div>'))

これは、uiDialogプロパティが初期化される方法です。

widgetウィジェットの動作方法によっては、プロパティ/関数を提供する必要がない場合があります。多くの jQuery ウィジェットはそうではありません。dialogウィジェットは、 で指定した要素をラップするいくつかの DOM コンテンツを作成し、$.dialog()そのwidgetプロパティ/関数を使用してその DOM 要素にアクセスできます。

widgetと一貫性のあるプロパティを提供したい場合は、次のようにウィジェットdialogの基礎を単純に使用できます。element

$.widget("dbd.myWidgetName", {
    options: {
        //autoOpen: true,
    },
    _create: function() {
    },
    widget: function() {
         return this.element;
    }
}

すべての jQuery ウィジェットにはelement、jQuery インスタンスにラップされた、基礎となる DOM 要素を参照するというプロパティがあります。デバッガーを見て、どのように機能するかを確認してください。

于 2011-02-12T16:44:49.237 に答える