我会举一个例子说明我正在尝试做什么。
在Javascript中:
document.innerHTML += "<input type='button' id='moveButton' value='a' onclick='webInput('a');'>"
问题在于正在编写的html有两个级别的引号,我无法弄清楚如何格式化第二级引号:
webInput('a')
在我的Javascript文件中,我有一个函数将输入写入函数末尾的HTML,然后单击输入调用下一个函数,直到最终输入被重写。
我知道答案可能与Escape Characters有关,但我对如何格式化它们感到困惑,因为文本正在传回Javascript和HTML之间,使用不同的Escape字符。
答案 0 :(得分:1)
您可以在javascript代码中创建按钮并在其中定义方法。
var button = document.createElement('button');
button.addEventListener('click',function(){
doSomething();
});
//This method adds your button to body
document.body.appendChild(button)
答案 1 :(得分:-1)
如果您有要求将此字符串添加到文档中,则需要转义引号:
"<input type='button' id='moveButton' value='a' onclick='webInput(\"a\")'>"
有关逃避规则的绝佳答案:https://stackoverflow.com/a/16134942/5727598
此外,您应该使用innerHtml属性作为要传递字符串的元素,但请确保它将删除所有内容;
如果没有要求,请创建按钮并向身体移动:
var input = document.createElement('input');
input.type = 'button';
input.id = 'moveButton';
input.value = 'a';
button.addEventListener('click', function(){
webInput(this.value); //if you need to pass input value as parameter
})
document.body.appendChild(input);