我附加了以下内容:
$('#field').append("<input type='text' id='searchfield' placeholder='Search...' autosave='save' results='5' onkeyup='onChange('searchfield','searchfield_right')' />")它是附加的,但由于撇号的原因,onChange函数无法工作...
onkeyup="onChange('searchfield','searchfield_right')"它应该类似于上面使用"和'searchfield','searhfield_right'的'
在追加时,您必须仅使用',这样'searchfield','searhfield_right'将被视为"searchfield","searchfield_right",这是不正确的-
有没有不同的方法来附加函数的右撇号'?
发布于 2011-02-14 04:09:18
属性值由'字符分隔。因此,如果您尝试在值中使用文字',它将终止该值,而不是它的一部分。
onkeyup='onChange('用一个实体(')表示它。更好的(实际上更好),使用unobtrusive JavaScript:使用JavaScript而不是HTML属性附加事件处理程序。
发布于 2011-02-14 04:30:34
逃离他们就好。
$('#field').append("<input type='text' id='searchfield' onkeyup='onChange(\"searchfield\",\"searchfield_right\");' />");然而,我同意David的观点,即您应该使用事件处理程序。
发布于 2011-02-14 04:31:31
只需传递this和event,而不是传递字符串变量
onkeyup="onChange(this, event)"然后在您的onChange函数中,您可以使用:
function onChange(element, event) {
var id = element.id,
}但是,如果您绝对确定要传递字符串,请转义引号:
onkeyup="onChange(\"searchfield\",\"searchfield_right\")"-> Demo <--
https://stackoverflow.com/questions/4986534
复制相似问题