为任何页面创建按钮单击处理程序

时间:2013-01-17 12:29:49

标签: javascript google-chrome javascript-events google-chrome-extension

我正在尝试制作Chrome扩展程序。我的目标是做到以下几点:

  1. 在点击具有特定ID的按钮或链接时运行某个javascript。
  2. 具有特定ID的按钮或链接可以在任何网站上。
  3. 我的代码看起来很简单,但我不确定我错过了哪里。 jquery在chrome扩展中不会这样工作吗?普通的javascript中是否有相同的代码?

    的manifest.json

    {
      "name": "Handle a button click",
      "version": "1.1",
      "background": { "scripts": ["background.js"] },
      "permissions": [
        "tabs"
      ],
      "browser_action": {
          "name": "click to handle"
      },
      "content_scripts": [
        {
          "matches": ["<all_urls>"],
          "js": ["jquery-1.9.0.min.js"]
        }
      ],
      "manifest_version": 2
    }
    

    background.js

    $(document).ready(function(){
        $("#my_submit").click(function(){
            alert("yo");
        });
    }
    

    谢谢

    UPDATE 在调试background.js之后我看到“未捕获的ReferenceError:$未定义”,jQuery文件未包含在内?或者为什么?

1 个答案:

答案 0 :(得分:1)

试试这个:

$(document).ready(function(){
  $(document).click(function(event){
    if(event.target.id == "my_submit"){    
        alert("yo");
    }
    });
});

这会检查触发点击事件的元素的所有点击事件是否为my_submit,如果是,则提醒

jsfiddle