关注工具提示中的文本字段

发布于 2024-12-13 00:20:11 字数 366 浏览 0 评论 0原文

使用 qTip2 在工具提示的文本字段中显示“共享”链接。

工具提示本身工作正常,但我还想让文本字段对所有选定的文本具有焦点。找到这个,但不知何故,焦点/单击+选择似乎没有正在工作。

JSFiddle 链接

Showing a 'share' link in a textfield within a tooltip using qTip2.

The tooltip itself works fine, but I'd also like to get the textfield to have focus with all the text selected. Found this, but somehow the focus/click + select doesn't seem to be working.

JSFiddle link

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

君勿笑 2024-12-20 00:20:11

在调用 show 回调后,似乎有什么东西从文本输入中移除了焦点;可能只是时间问题,也可能是 qTip2 中的某些内容改变了焦点。

您可以尝试使用 setTimeout ,时间为一旦浏览器重新获得控制权,零就会触发函数(这应该在所有 qTip2 内容完成后发生)。这适用于 Chrome、Safari、Firefox 和 Opera:

events: {
    show: function(event, api) {
        var $this = $(this);
        setTimeout(function() {
            $this.find('input.focusselect').focus().select();
        }, 0);
    }
}

演示: http://jsfiddle.net/ambigously/ npZgv/

Something seems to be removing the focus from the text input after the show callback is called; could just be a timing issue, could be something in qTip2 changing the focus.

You can try using a setTimeout with a time of zero to trigger a function once the browser gets control back (and that should happen after all the qTip2 stuff has finished). This works for me in Chrome, Safari, Firefox, and Opera:

events: {
    show: function(event, api) {
        var $this = $(this);
        setTimeout(function() {
            $this.find('input.focusselect').focus().select();
        }, 0);
    }
}

Demo: http://jsfiddle.net/ambiguous/npZgv/

泛泛之交 2024-12-20 00:20:11

如果有人对另一种方法感兴趣,这是我从 Craig Thompson(qTip 创建者)那里得到的答案,它使用自动对焦事件

           show: {
                event: 'click',
                ready: true,
                solo: true,
                autofocus: '.focusselect'
            },
            events: {
              show: function(event, api) {
                  $('input.focusselect', this).bind('focus', function() {
                      $(this).select();
                  });
              }
           }

In case any one is interested in another approach, here's the answer I got from Craig Thompson (qTip creator), which uses the autofocus event

           show: {
                event: 'click',
                ready: true,
                solo: true,
                autofocus: '.focusselect'
            },
            events: {
              show: function(event, api) {
                  $('input.focusselect', this).bind('focus', function() {
                      $(this).select();
                  });
              }
           }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文