我正在尝试为文本字段生成HTML代码字符串。问题是我无法在生成的HTML文本字段中使用onchange事件。
我的HTML页面中的脚本如下:
function validateSC1(){
//check something
}
var myStepContent = new StepContent("sc1", "First Name", inputType.Text, true, validateSC1);
document.getElementById("loc").innerHTML = myStepContent.generateCode().getCode();
validateSC1函数应该是要生成的文本字段的onchange事件。
现在StepContent函数如下:
function StepContent(id, label, type, mandatory, validation){
this.init = function(){
this.id = id;
this.label = label;
this.type = type;
this.mandatory = mandatory;
this.validation = validation;
this.output = "";
}
this.generateCode = function(){
if(this.type == inputType.Text){
this.output += this.label + ": <br><input id='" + this.id + "' type='text' onclick='" + this.validation + "'><br>";
}
return this;
}
this.getCode = function(){
return this.output;
}
this.init();
}
即使工作,我也无法获得改变。我甚至将它更改为onclick事件以查看它是否有效。任何人都可以建议或告诉我我做错了什么?
注意:我想在生成的HTML代码呈现到页面之前分配onchange事件,因此我不能将addEventListener用于生成的文本字段。
答案 0 :(得分:0)
使用jQuery在动态加载的html上使用$(document).on
语法
供变更使用
$(document).on('change', '#element_id', function() {
//your code
});
同样适用于任何类型的事件,并且可以在内容甚至存在之前分配,因为每次触发事件时它都会检查DOM是否匹配元素。
答案 1 :(得分:0)
您的onclick事件没有parens。 您还可以使用我认为惯例的单引号和双引号。 我会在Firebug中检查你的对象。