1

jQuery 中的单击处理程序有一个奇怪的问题。我写了一个用户脚本,它在 Firefox 中运行良好。(Greasemonkey 插件)起初我认为它在 chrome 中也可以正常运行(因为脚本加载正常并且我在控制台中没有收到任何错误)但事实证明我的按钮都不起作用。我正在为 chrome 使用 Tampermonkey 插件。

这是我用于处理程序的代码:

  $(function(){
      function count_send_at(event) {
          //...
          return false;
      }
      $('#count_send_at_btn').click(count_send_at);
  });

count_send_at()根本不会被调用(通过警报测试)。

我在互联网上找不到任何解决方案,也许你可以帮助我。

4

2 回答 2

1

http://jsfiddle.net/EpnXh/

$(document).ready(function () {
     function count_send_at(event) {
     //...
        return false;
     }
     $('#count_send_at_btn').click(count_send_at);
});
于 2012-12-06T00:09:22.630 回答
-1

我尝试了类似的东西并得到了相同的行为;它抱怨“$”未定义,这意味着用户脚本无权访问 jQuery 对象。

这是修复它的方法:

function GM_wait() {
    // if chrome, of course. this might need to be handled differently in firefox...
    if(typeof unsafeWindow.jQuery == 'undefined') { 
        window.setTimeout(GM_wait,100); 
    } else { 
        $ = unsafeWindow.jQuery; 
    }
}

(function(){
    GM_wait();

    if ( $ ) {
        alert('got it!');
    }
})();

来自:http : //forum.imerx.net/viewtopic.php? f=17&t=127

于 2012-12-06T00:17:41.957 回答