"this" 使用 jQuery 触发器、triggerHandler 或模拟时的参考

"this" reference when using jQuery trigger, triggerHandler, or simulate

我们的 css 人员有一个图标覆盖视频的图像缩略图。当用户单击缩略图时,视频应该会播放(确实如此!),但是当他们单击覆盖 "play" 图像时,该图像会消耗点击并且不会直接传递给底层图像。

所以我搜索并找到了 jQuery 的 trigger() 函数并将其添加到图标点击处理程序以触发缩略图处理程序并且它工作正常除了当缩略图点击是 运行 时, "this" 参考是图标,而不是相应的缩略图。

我试过 triggerHandler() 和 jQuery 的内部 simulate() 函数,它们都是一样的。

在事件处理程序中,我需要实际缩略图的 ID,而不是覆盖图标。

有没有办法让叠加图像忽略点击并让它向上(或向下)冒泡到 z 顺序中的其他东西?或者干脆解雇他们两个?

return 是的;在父事件中(覆盖 "play" 图片)将继续到子事件(缩略图)

您可以使用 css 点击,使用指针事件 none css pointer-events: none。这不适用于 IE10 及以下版本,但您可以使用此 polyfill:

https://github.com/kmewhort/pointer_events_polyfill