1

http://jsfiddle.net/r2nzc/5/

var $textInput = $('#textInput');
var items = '.ui-autocomplete li.ui-menu-item a';

$textInput.autocomplete({
  source: ['a', 'b', 'c'],
  minLength: 0,
  open: function(){
    $('body').tooltip({
      items: items,
      content: 'Hello!'
    });

    $(items).mouseout(function(event){
        event.stopImmediatePropagation();
        $('body').tooltip('close');
    });
  }
}).focus(function(){
    $(this).autocomplete('search', '');
});

jQuery UI のツールチップのオートクローズ機能をオーバーライドしようとしています。私の意図は、ツールチップを閉じることなくホバーできるようにすることですが、この機能はまだ導入されていません。そのため、私はそれをハッキングしようとしています。

私の理解では、event.stopImmediatePropagation を呼び出して、mouseleave イベントの後にツールチップが閉じないようにする必要があります。ただし、これにより、ツールチップが永久に開いたままになります。そのため、ツールチップを手動で閉じる必要があります。

ツールチップで「破棄」を呼び出すと、即座に強制的に閉じることができます。ツールチップから素敵なフェードアウトが得られないため、これは醜い回避策のように思えます。

close が機能していないように見える理由をデバッグする方法がわかりません。ツールチップはその内部状態を追跡していますか?

4

0 に答える 0