1

jQuery のクリック ハンドラーで奇妙な問題が発生しました。ユーザースクリプトを作成しましたが、Firefox で正常に動作します。(Greasemonkey アドオン) 最初はクロムでも問題なく動作すると思っていましたが (スクリプトが正常に読み込まれ、コンソールにエラーが表示されないため)、ボタンがどれも機能していないことがわかりました。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 に答える