jQuery SO 投票对象和范围

发布于 2024-07-29 21:31:49 字数 657 浏览 2 评论 0原文

这是一个 JavaScript 问题。 它提到这个网站的事实是无关紧要的。 这属于元。


我正在开发一个 Greasemonkey 脚本来自动加载其他页面的答案当您滚动时,会看到 Stackoverflow 上答案的第一页。 这运作良好。 我想保持对加载的项目进行赞成/反对的能力,因此我使用 $.live(),它也工作得很好。

我的问题是 SO 使用的投票对象在 $.live() 方法的范围内找不到,或者至少我认为这是问题所在。

$(".vote-up").live("click", function(D){
  vote.up($(D.target));
});

$.get("/questions/1151074", function(data){
  $("div.answer", data).insertAfter(".answer:last");
});

这是一些示例代码,您可以将其粘贴到 Firebug 控制台中进行测试。 您可以看到,在 .live() 调用的上下文中,投票是不可访问的。 我怎样才能解决这个问题?

This is a javascript question. The fact that it mentions this website is irrelevant. This does not belong on meta.


I'm working on a Greasemonkey script to auto-load additional pages of answers onto the first page of answers here at Stackoverflow as you scroll. This is working well. I want to maintain the ability to up-vote/down-vote the loaded items, so I'm using $.live(), which is also working fine.

My problem is that the vote-object, used by SO, is not found within the scope of the $.live() method, or atleast I think that is the problem.

$(".vote-up").live("click", function(D){
  vote.up($(D.target));
});

$.get("/questions/1151074", function(data){
  $("div.answer", data).insertAfter(".answer:last");
});

That's bit of sample code you can paste into your firebug console to test. You can see that vote, in the context of the .live() call is not accessible. How can I fix this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

今天小雨转甜 2024-08-05 21:31:49

尝试unsafeWindow.vote.up()

请参阅文档。 这是某种安全措施。 当你忘记的时候很烦人。

Try unsafeWindow.vote.up().

See the docs. It's a security measure of sorts. Annoying when you forget though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文