基本的jQuery点击处理程序在Chrome中不起作用

时间:2012-12-06 00:04:10

标签: jquery google-chrome click handler

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

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

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

count_send_at()根本没有被调用(通过警报测试)。

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

2 个答案:

答案 0 :(得分:1)

http://jsfiddle.net/EpnXh/

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

答案 1 :(得分:-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!');
    }
})();

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