我正在尝试编写一个Greasemonkey脚本,用于在Facebook上完成某些任务,比如隐藏新闻等。
问题是:我有一个ID尚未存在于DOM中的元素。这是点击帖子的箭头图标时出现的小盒子。
如何通过jQuery创建一个事件处理程序,一旦元素存在就会触发它?
答案 0 :(得分:1)
这是一个常见问题。您可以使用the waitForKeyElements()
utility对AJAXed-in元素进行操作。 (例如,请参阅"Fire Greasemonkey script on AJAX request"。)
我不确定“点击帖子的箭头图标时出现的小盒子”是什么意思,但一般来说,你会:
确保您的脚本具有jQuery。如果它已经存在,请将其添加到metadata section:
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
要求waitForKeyElements
:
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
编写处理程序函数并将其激活:
function hideTheNews (jNode) {
//***** YOUR CODE HERE *****
jNode.hide (); // For example
}
waitForKeyElements ("*APPROPRIATE jQuery SELECTOR*", hideTheNews);