4

我在http://jsfiddle.net/MuCeD/2/有一个带有一些文本的 div 。如果我双击 div 中的“sample”一词,它会突出显示,然后如果我单击页面上的其他任何位置,则文本将不突出显示 -除非我单击第二个框的蓝色拖动手柄。然后“采样”仍然突出显示。

如果您删除句柄规范,如下所示,

$('#box').draggable();

因此您可以从左侧框的任意位置拖动,然后您可以单击该框的任意位置而不会丢失文本焦点。

有谁明白这里发生了什么?拖动手柄如何防止窃取焦点?

谢谢

4

1 回答 1

2

jQuery UI draggable取消其事件mousedown。这就是为什么它没有获得焦点,因此不会窃取其他元素的焦点。您可以在可拖动上下文之外使用以下示例。

HTML:

<a href="#">Some link</a>
<a class="not-focusable" href="#">No focus</a>

JavaScript:

$('.not-focusable').mousedown(function (event) {
    return false;
});

JSFiddle

于 2013-06-04T11:39:55.653 回答