我正在尝试编写一个小 Greasemonkey 脚本来完成 Facebook 中的一些任务,例如隐藏新闻等。
问题是:我有一个 DOM 中尚不存在的元素的 ID。这是点击帖子的箭头图标时出现的小框。
如何通过 jQuery 创建一个事件处理程序,该处理程序在元素存在时立即触发?
我正在尝试编写一个小 Greasemonkey 脚本来完成 Facebook 中的一些任务,例如隐藏新闻等。
问题是:我有一个 DOM 中尚不存在的元素的 ID。这是点击帖子的箭头图标时出现的小框。
如何通过 jQuery 创建一个事件处理程序,该处理程序在元素存在时立即触发?
这是一个常见的问题。您可以使用实用程序对 AJAXed-in 元素进行操作waitForKeyElements()
。(例如,请参阅“AJAX 请求上的 Fire Greasemonkey 脚本”。)
我不确定您所说的“点击帖子的箭头图标时出现的小框”是什么意思,但总的来说,您会:
确保你的脚本有 jQuery。将此添加到元数据部分,如果它还没有:
// @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);