javascript - 没有 jQuery 的 jQuery 实时功能

标签 javascript jquery

我想知道如何使用“传统”JavaScript 实现 jQuery 的 .live 功能。我想要像 $('a').live('mouseover', mouseover_func) 这样的东西像通常的 JavaScript 一样编写。但是如何呢?

最佳答案

将“鼠标悬停”事件处理程序绑定(bind)到 <body>元素。在该处理程序中,检查它捕获的每个事件的“target”属性,并查看其“tagName”属性是否为“A”。如果是,请调用处理程序。

“实时”功能利用事件“冒泡”,这是浏览器进程的名称,用于检查从目标元素到 DOM 根的处理程序,一次检查一个父元素。由于每个 <a>在您的文档中最终可以追溯到 <body> ,该根节点将获得所有未被取消冒泡的低级处理程序分流的“鼠标悬停”事件(通过事件对象上的“stopPropagation()”方法,或者我猜是一些奇怪的浏览器特定方式) .

然而,并非所有事件都会冒泡。我正在四处寻找一个很好的引用......好的,MDC page seems pretty good虽然可能有点老了。

关于javascript - 没有 jQuery 的 jQuery 实时功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985277/

相关文章:

javascript - 在 javascript/jquery 中四舍五入到小数点后 3 位

c# - 没有要求参数的 MVC 4 JSON 路由发布数据路由

javascript - 用js获取其他页面的数据?

jquery - JQGrid - 在编辑表单中显示附加列

javascript - jquery ReplaceWith 混合引号 ' and "

javascript - NodeJS 结合异步函数的输出

javascript - SetHTML 之后立即在 FCKeditor 上 ResetIsDirty -- Javascript 的并发/计时问题

javascript - 让游戏角色走路,Javascript

javascript - 如何解决 jquery 中的窗口加载事件问题?

javascript - 我想防止另一个元素位置在 "display: block;"宽度鼠标悬停时减少,