我有以下代码通过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/