javascript – 在jQuery UI Tooltip中获取对hovered元素的引用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在jQuery UI Tooltip中获取对hovered元素的引用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1403字,纯文字阅读大概需要3分钟。
内容图文
基本上,我将一个打开的处理程序附加到我的jQuery UI工具提示,该工具提示对触发工具提示的元素执行一些检查.到目前为止我得到了什么:
$(document).tooltip({
open: function(e, ui) {
var el = e.toElement/* || e.relatedTarget*/;
console.log(el.offsetWidth, el.scrollWidth);
if (el.offsetWidth === el.scrollWidth) {
ui.tooltip.hide();
}
}
});
上面的检查可防止工具提示出现,除非元素水平溢出,这是流体布局的一部分.如您在此jsBin中所见,它在Chrome中运行良好.
但是,在Firefox中,event.toElement未定义.从阅读SO周围的线程,我认为event.relatedTarget将是一个合适的替代品,但事实并非如此.当event.toElement引用当前悬停的项时,mouseover中的event.relatedTarget引用指针设备退出的元素,这是W3C spec的正确行为(类似于Chrome的event.fromTarget).
我也尝试了event.target,event.currentTarget和这个引用,但是这些指向文档,因为它是具有工具提示事件处理程序绑定的节点.通过Tooltip API页面也没有帮助.
我不确定我是否忽视了一些非常基本的东西,或者我是否应该尝试更少的正统方法.
有没有办法获得引用工具提示的开放处理程序内部的元素的引用,该处理程序在Firefox中有效?或者是否有一些神奇的jQuery UI Tooltip选项/方法可以以更简单/类似的方式实现这种期望的行为?
解决方法:
仅为了完整性:窗口小部件包含属性工具提示,该对象包含作为键的所有打开工具提示的ID以及作为值的关联目标元素.
var widget = $(this).data("ui-tooltip");
var el = widget.tooltips[ui.tooltip[0].id][0];
它很干净,因为你有一个直接引用元素,但也有点脏,因为它是一个可能会改变的实现细节.
也就是说,像ui.target这样的东西确实很好.
内容总结
以上是互联网集市为您收集整理的javascript – 在jQuery UI Tooltip中获取对hovered元素的引用全部内容,希望文章能够帮你解决javascript – 在jQuery UI Tooltip中获取对hovered元素的引用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。