javascript - Firefox 中 unselectable 和 undraggable 之间的交互

标签 javascript html css twitter-bootstrap-3

我正在使用 <a> 在 Bootstrap 中实现选项卡关闭功能包含选项卡标题文本以及关闭图标(作为跨度中的背景图像)的元素。

为了使其正常工作,图标必须是不可拖动的(如果您在图标上单击鼠标,然后移开,您希望这意味着“我不是有意点击”,而不是“我想点击”拖动图标')。

这也意味着图标周围的文本必须是不可选择的,因为将鼠标从单击的图标上移开只会选择周围的文本,这是不好的。

fiddle是我目前的解决方案,适用于 Webkit、Opera 和 IE11。但是,它不适用于 Firefox。

代码使用 Javascript 设置 <a>元素不可拖动,CSS(和 unselectable)将文本设置为不可选择。

问题在于,对于 Firefox,将文本设置为不可选择实际上会再次拖动,因此选项卡和图标在 Firefox 中是可拖动的。在其他浏览器中,您可以单击并拖动图标(或选项卡标题),但没有任何反应。

有什么办法解决这个问题吗?也许有更好的方法来处理 JS 的“不可选择”?谢谢。

最佳答案

解决方案 here .只有在使用 draggable 属性禁用拖动时才会出现此问题; fiddle 改为在 dragstart 上设置事件监听器。这适用于 FF、Chrome、Safari、Opera 和 IE11。这还有一个优点,即您不需要任何 CSS 来禁用选择。不过,Opera 仍然需要 unselectable="on"

关于javascript - Firefox 中 unselectable 和 undraggable 之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23661339/

相关文章:

javascript - 在 DNN 站点中嵌入机器人

javascript - 使用 CSS 或 JavaScript 计算分页数

JavaScript 闭包问题

javascript - 使用 Javascript 和 lodash 进行多条件排序对象键

html - 将图片设置为页面背景

html - 将带有 HTML 代码的字符串注入(inject)并解释为 JSF 页面的组件

javascript - 为什么动画不透明度在 chrome 中不起作用?

html - 如何在图像顶部垂直和水平居中对齐描述?

javascript - 将 HTML 响应注入(inject) iframe(来自 AJAX 调用)

css - 我应该如何更改列表的顺序