我附上以下内容:
$('#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"
哪个不正确 -
是否有不同的方法为函数附加右撇号'
????
答案 0 :(得分:1)
您的属性值以'
个字符分隔。因此,如果您尝试在值中使用文字'
,它将终止值而不是其中的一部分。
onkeyup='onChange('
用实体('
)表示。更好(事实上要好得多),使用unobtrusive JavaScript:使用JavaScript附加事件处理程序,而不是HTML属性。
答案 1 :(得分:0)
逃避他们。
$('#field').append("<input type='text' id='searchfield' onkeyup='onChange(\"searchfield\",\"searchfield_right\");' />");
但是,我同意大卫你应该使用事件处理程序。
答案 2 :(得分:0)
不是传递字符串变量,而是传递this
和event
:
onkeyup="onChange(this, event)"
然后在你的onChange函数中,你可以使用:
function onChange(element, event) {
var id = element.id,
}
但是,如果您确定要传递字符串,请转义引号:
onkeyup="onChange(\"searchfield\",\"searchfield_right\")"