Also, not necessarily related to the previous post, but something else I had trouble with in Chrome userscripting was trapping clicks. I couldn't get addEventListener to work on elements. So instead I went for the document level, trapped all clicks, and filtered for what I was interested in.

document.addEventListener('click', function(event) {
    if ( == "whatyouarelookingfor")
    //Do something 

    // Then just let the default carry on