jQuery SO 投票对象和范围
这是一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试
unsafeWindow.vote.up()
。请参阅文档。 这是某种安全措施。 当你忘记的时候很烦人。
Try
unsafeWindow.vote.up()
.See the docs. It's a security measure of sorts. Annoying when you forget though.