如果在元素内部开始点击并按住,请将注意力集中在元素上

Stay focused on element if click and hold starts inside it

本文关键字:元素 集中 注意力 开始 内部 如果      更新时间:2023-09-26

我正在使用qtip-jquery插件,遇到了一个奇怪的问题。我有一个很大的滚动"工具提示"。小提琴在这里:http://jsfiddle.net/yu9tb1wn/

在firefox中,如果我点击并尝试选择文本,当我离开时,div将滚动到顶部或底部。这是意料之中的事,因为大多数窗口都是这样。

然而,在IE和Chrome中,工具提示会消失,因为它应该在鼠标离开时消失。

如何让IE和Chrome像Firefox一样运行?也许我需要使用一些我不知道的事件。

如果你在不同的浏览器中尝试这种方法,试着选择所有的文本,你就会看到我所说的行为。

简单qtip代码:

 $('a[title]').qtip({
    hide: {
    delay:250,
      fixed: true,
    }
  });

我设法在Chrome上实现了这一点:http://jsfiddle.net/d6b5wmLk/12/

var b = true;
  $('a[title]').qtip({
    hide: {
        delay:250,
      fixed: true,
    },
    events: {
        hide: function(event, api) {
            if(!b) {
              event.preventDefault();
            }
        }
    }
  });
    $( "html" ).mousedown(function() {
    b = false;
    });
  $( "html" ).mouseup(function() {
    b = true;
    $('a[title]').qtip('hide');
    });

我一直在寻找库,我相信你可以再增加一点延迟来实现这一点。但除此之外,我看不到任何其他方法不修改库