我正在以浏览器扩展的形式执行文本到二进制转换器。我有这个表格:
<textarea id="in"></textarea>
<textarea id="out" readonly></textarea>
<div id="buttons">
<button id="convert">Convert</button>
<button id="copy">Copy</button>
</div>
我想将转换后的文本从第一个文本区域插入第二个文本区域。这是脚本:
window.onload = function() {
document.getElementById("convert").addEventListener("click", click());
};
function click() {
// Getting the first textarea value
var inputText = document.getElementById("in").value;
var output = document.getElementById("out");
// Testing if it's a binary or a text
if (/^[0-1 ]*$/.test(inputText)) {
output.value = binToText(inputText);
}
else {
output.value = textToBin(inputText);
}
}
问题是,如果我写入第一个文本区域,则其值不会更改,因此value
属性将返回null。第二个文本区域什么也没显示。
我尝试了一切,但仍然无法正常工作。我在做什么错了?
答案 0 :(得分:2)
您没有正确绑定事件处理程序。单击按钮实际上什么也没发生。
您必须将函数本身传递给addEventListener
,而不是其返回值:
document.getElementById("convert").addEventListener("click", click);
// ^^^^^