使用Javascript编写调用Javascript函数的HTML输入

时间:2017-07-09 17:37:22

标签: javascript jquery html

我会举一个例子说明我正在尝试做什么。

在Javascript中:

document.innerHTML += "<input type='button' id='moveButton' value='a' onclick='webInput('a');'>"

问题在于正在编写的html有两个级别的引号,我无法弄清楚如何格式化第二级引号:

webInput('a')

在我的Javascript文件中,我有一个函数将输入写入函数末尾的HTML,然后单击输入调用下一个函数,直到最终输入被重写。

我知道答案可能与Escape Characters有关,但我对如何格式化它们感到困惑,因为文本正在传回Javascript和HTML之间,使用不同的Escape字符。

2 个答案:

答案 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);