javascript - 悬停时从数据列表中获取当前值

标签 javascript jquery html-datalist

我正在尝试获取数据列表悬停元素的当前值。因此,如果我打开其中包含值的数据列表并将鼠标移到它们上面,我希望这些值出现在控制台中。

这是我的尝试:

<input list="browsers" id="browser">
<datalist id="browsers">
    <option value="Internet Explorer">
    <option value="Firefox">
    <option value="Chrome">
    <option value="Opera">
    <option value="Safari">
</datalist>

$("#browsers").on("mouseover", function() {
  console.log($(this).value());
});

这是一个 fiddle :https://jsfiddle.net/sshcvr5q/

最佳答案

我不确定这是否可行。数据列表选项,虽然在主文档 DOM 树中仍然可见,但被克隆和 encapsulated作为 Shadow DOM 的一部分树,并且无法从父文档访问。您实际上悬停在这些封装的 Shadow DOM 节点上(无论如何肯定是在 Chrome 中),并且主 DOM 树中的原始节点不会被 mouseoverhover< 触发 将鼠标悬停在 Shadow DOM 节点上时的事件。

如果您使用 Chrome DevTools 检查 JSFiddle 示例中的 DOM 树,您可以看到封装的 DOM 树的影子根:

Shadow DOM for input

参见 this explanation来自另一个 Stack Overflow 问题,了解有关为什么您不能从父文档中监听 Shadow DOM 上的事件的更多信息。

关于javascript - 悬停时从数据列表中获取当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35894243/

相关文章:

javascript - basicWeek View 的完整日历结束日期错误

javascript - 如何实现和使用 eyecon 的 bootstrap-datepicker?

javascript - $.each javascript 函数的内部 HTML 结果

javascript - JQuery - 多个复选框操作

css - 有没有办法在输入类型=颜色中限制对数据列表的选择并禁用其他...选项?

javascript - 一些具有隐藏值的数据列表标签

html - 设置隐藏的数据列表选项值

javascript - Canvas 文本的垂直对齐方式

javascript - MooTools 类

javascript - 全日历选项不起作用