一个元素存在时立即触发事件的脚本?

时间:2012-05-15 13:19:00

标签: jquery ajax facebook greasemonkey

我正在尝试编写一个Greasemonkey脚本,用于在Facebook上完成某些任务,比如隐藏新闻等。

问题是:我有一个ID尚未存在于DOM中的元素。这是点击帖子的箭头图标时出现的小盒子。

如何通过jQuery创建一个事件处理程序,一旦元素存在就会触发它?

1 个答案:

答案 0 :(得分:1)

这是一个常见问题。您可以使用the waitForKeyElements() utility对AJAXed-in元素进行操作。 (例如,请参阅"Fire Greasemonkey script on AJAX request"。)

我不确定“点击帖子的箭头图标时出现的小盒子”是什么意思,但一般来说,你会:

  1. 确保您的脚本具有jQuery。如果它已经存在,请将其添加到metadata section

    // @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
    


  2. 要求waitForKeyElements

    // @require https://gist.github.com/raw/2625891/waitForKeyElements.js
    


  3. 编写处理程序函数并将其激活:

    function hideTheNews (jNode) {
        //***** YOUR CODE HERE *****
        jNode.hide (); // For example
    }
    
    waitForKeyElements ("*APPROPRIATE jQuery SELECTOR*", hideTheNews);