1

JavaScriptポップアップを作成するためにqtipライブラリを使用する次のJavaScriptがあります。コレクション内のどの li 要素がクリックされたかにアクセスする方法がわかりません。これは可能ですか?問題を説明するために、以下のコード内に警告ボックスを追加しました。他に何か必要な場合はお知らせください。どうもありがとう、

$('li').each(function () {
    $(this).qtip(
    {
        content: {
            text: 'test text',
            title: { text: true, button: '<img src="/Images/close.gif">' }
    },
    position: {
        corner: {
            target: 'rightMiddle',
            tooltip: 'leftMiddle'
        },
        adjust: {
            screen: true
        }
    },
    show: {
        when: 'click',
        solo: true
    },
    api: {
        beforeShow: function(index) {
            if(document.getElementById('basketCheck')) {
                alert('what LI caused this click?');
                return false;
            }
        }
    },
    hide: 'unfocus',
    style: {
        tip: true,
        border: {
            width: 0,
            radius: 4,
        },
        width: 264,
        height: 195,
        title: { 
            background: '#ffffff'
        },
        lineHeight: '16px'
    }
})

});

4

2 に答える 2

0

コンテキスト経由this

beforeShow: function(index) {
    //'this' points to the affected LI
}
于 2012-08-02T09:59:51.677 に答える
0

トリガー要素はelements.target、qTip インスタンスのプロパティで利用できます。this次に、そのインスタンスはinbeforeShowハンドラーにバインドされます。

api: {
    beforeShow: function() {
        if(document.getElementById('basketCheck')) {
            // This <li> caused the click.
            var sourceElement = this.elements.target;  
            return false;
        }
    }
}
于 2012-08-02T10:00:45.563 に答える