【问题标题】:jQuery click doesn't work in Google DrivejQuery 点击在 Google Drive 中不起作用
【发布时间】:2015-04-16 06:53:12
【问题描述】:

jQuery click 在https://drive.google.com/drive/folders/XXXXXXX 中不起作用

这是我试图点击的 div。

<div class="j-Ta-pb j-ia-e a-Cs-A-e a-d-e" role="button" style="-moz-user-select: none;" aria-hidden="false" aria-expanded="false" aria-haspopup="true" data-tooltip="More actions" aria-label="More actions" tabindex="0"><div class="a-e-d"><svg focusable="false" viewBox="0 0 20 20" height="20px" width="20px" y="0px" x="0px"><path d="M10,6c1.104,0,2-0.896,2-2s-0.896-2-2-2S8,2.895,8,4S8.896,6,10,6z M10,8c-1.104,0-2,0.896-2,2s0.896,2,2,2s2-0.896,2-2  S11.104,8,10,8z M10,14c-1.104,0-2,0.896-2,2s0.896,2,2,2s2-0.896,2-2S11.104,14,10,14z" fill="#000000"/></svg></div></div>

在 Firebug 控制台中,我运行命令 $('.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e').click();

我得到了这个:

Object[div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e, div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e, div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e, div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e]

我还尝试将 :eq 从 :eq(0) 更改为 ;eq(4) - 没有任何变化,它不显示“更多操作”选项。

+++更新+++

jQuery 确实有效

var script = window.content.document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js';
script.type = 'text/javascript';
window.content.document.getElementsByTagName('head')[0].appendChild(script);

【问题讨论】:

  • 这种行为是正确的。 click() 方法返回一个 jQuery 对象,其中包含您在控制台中看到的单击元素。如果触发该单击事件无效,则可能是由于其他原因,例如事件未绑定在您单击的点,或者事件处理程序未绑定到该元素。

标签: javascript jquery imacros


【解决方案1】:

Google Drive 上似乎没有 jQuery。有很多方法可以判断它不是 jQuery,最简单的方法之一是 $.fn 未定义。

事实证明,Web 开发者控制台(至少在最新版本的 Firefox 和 Chrome 中)将 $ 别名为类似于 jQuery 的查询选择器,但并不完全相同。这可能就是您在这里看到的。查看 Firefox here 的文档。

如果您在页面中需要 jQuery,这应该可以帮助您入门。

祝你好运!

【讨论】:

  • 如果页面中不包含 jQuery,OP 会收到一条错误消息:$ is undefined
  • @RoryMcCrossan 不正确,请查看我的答案中发布的链接。 OP 正在通过开发人员控制台执行此操作。一些开发者控制台会注入自己的 $ 作为调试的辅助方法(除非在窗口中定义了 $)
【解决方案2】:

.click() 已被弃用一段时间尝试使用

$('.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e').on("click", function(e) {
    console.log(e);
    // Do something here
});

【讨论】:

  • 谢谢。获得相同的对象[div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e, div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e, div.j-Ta -pb.j-ia-e.a-Cs-A-e.a-d-e, div.j-Ta-pb.j-ia-e.a-Cs-A-e.a-d-e] 它不显示“更多操作”选项。
  • @OddDev 我对 .live() 感到困惑 :)
猜你喜欢
  • 1970-01-01
  • 2022-01-20
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多