1

我有以下使用 qtip 库创建 javascript 弹出窗口的 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.targetqTip 实例的属性中可用。反过来,该实例绑定到this处理程序中beforeShow

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 回答