qtip2 - 如何在后代工具提示中单击以不关闭父工具提示

qtip2 - how to make a click inside a descendant tooltip to not close a parent tooltip

我有一个工具提示-A,它通过 ajax 加载其内容。它包含一个 link 打开另一个工具提示-B。

何时打开两个工具提示关闭工具提示当前的工作方式如下:

  1. 在工具提示外单击将同时关闭它们
  2. 在工具提示中单击将关闭另一个工具提示

我想达到:

  1. 在工具提示外单击将同时关闭它们
  2. 在工具提示-B 内单击不会关闭工具提示-A(父工具提示)
  3. 在工具提示-A 内单击将关闭工具提示-B

http://jsfiddle.net/GAmFK/121/

$(document).on('click', '.tooltip-a', function(event) {
    $(this).qtip({
        show: {
            event: event.type, 
            ready: true
        },
        hide: 'unfocus',
        content: {
            text: function(event, api) {
                // Ajax content simplified for this example
                return '<h1>tooltip-A</h1> <a href="#" class="tooltip-b">open tooltip-B</a>';
            }
        }
    });
});

$(document).on('click', '.tooltip-b', function(event) {
    $(this).qtip({
        show: {
            event: event.type, 
            ready: true
        },
        hide: 'unfocus',
        content: {
            text: function(event, api) {
                return '<h1>tooltip-B</h1> <span>Click inside this tooltip should NOT close tooltip-A</span>';
            }
        }
    });
});

我想通了:

$(document).on('click', '.tooltip-a', function(event) {
    $(this).qtip({
        show: {
            event: event.type, 
            ready: true
        },
        hide: 'unfocus',
        events: {
            hide: function(event, api) {
                if ($(this).nextAll('.qtip').has(event.originalEvent.target).length)
                {
                    event.preventDefault();
                }
            }
        }
        content: {
            text: function(event, api) {
                // Ajax content simplified for this example
                return '<h1>tooltip-A</h1> <a href="#" class="tooltip-b">open tooltip-B</a>';
            }
        }
    });
});