javascript - 当用省略号隐藏文本溢出时阻止 Safari 显示工具提示

标签 javascript html css safari tooltip

如何完全删除将鼠标悬停在链接中 chop 的文本部分时显示的默认浏览器工具提示?

由于 css 省略号规则,文本被 chop :

text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;

当我将这些规则应用于固定宽度的 div 时,我得到一个 html 工具提示。 (仅适用于 Safari,不适用于 Firefox 或 Chrome。)

这里是 a jsfiddle .

我尝试添加一个 JS preventDefault 并添加一个空的 title 属性,但这些都不起作用。

最佳答案

为没有非空 title 的文本溢出被省略号 chop 的元素显示工具提示的能力是 WebKit 核心的一部分,但默认情况下它是关闭的。只有 Safari 会覆盖它并启用该行为。无法从您的应用程序代码中关闭它。

作为变通方法,在元素内添加一个空 block 元素,该元素用 text-overflow: ellipsis 隐藏了溢出。这既可以真实地完成,正如@bas 的答案已经显示的那样,也可以通过使用 CSS 创建伪元素来完成:

&::after {
  content: '';
  display: block;
}

(使用 SCSS 语法)。如果您使用 Sass 并创建一个 mixin 来封装隐藏带有省略号的文本溢出,这可能是一个很好的添加,而不需要任何额外的 HTML 标记。

关于javascript - 当用省略号隐藏文本溢出时阻止 Safari 显示工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974276/

相关文章:

javascript - 在 ie8 中使用 jasmine 比较数组失败

javascript - 代码: Dealing with min and max - Javascript的解释

javascript - React - 如何避免这种内联样式

html - 如何反向悬停热点图像?

javascript - 如何根据用户选择显示/排序特定的 div

css - 为什么我不能用 CSS 删除这个边框?

javascript - Bootstrap 网格项目未正确渲染

javascript - 我的混合应用程序在检查包含字符串的 li 元素时不会更改页面

javascript - 如何设置onclick自动重复?或者它有自动重复功能?

javascript - 在 Javascript xmlhttp 对象中打开相对 URL 时遇到问题