我有以下代码通过chrome扩展内容脚本运行。我无法使点击处理程序正常工作。通过manifest.json中的run_at标志,脚本将在document_end上运行。有任何想法吗?

$(document).ready(function () {
  var enabled = true;

  $('body').append("<button id='#alarmButton'>Disable Alarm</button>");

  $('#alarmButton').on('click', function () {
    console.log('clicked');
    if (enabled == true) {
      enabled = false;
      $('#alarmButton').text('Enable Alarm');
    } else {
      enabled = true;
      $('#alarmButton').text('Disable Alarm');
    }
  });
});

最佳答案

您无需在id属性中添加#

更改

$('body').append("<button id='#alarmButton'>Disable Alarm</button>");




$('body').append("<button id='alarmButton'>Disable Alarm</button>");


对于点击事件,请使用:

$('body').on('click', '#alarmButton', function () {})


Jsfiddle

关于javascript - 单击处理程序在内容脚本中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33980478/

10-12 07:28