我想在JSF中获取文本框的ID以使用jQuery绑定keyup事件。
我在javascript代码中有$('#A3023\\:formId\\:textboxId').live('keyup', function(){...});
,它运行正常。但我必须在服务器端调用JavaScript。
所以,我试试$('#A3023\\\\:formId\\\\:textboxId')
\
的双重转义,但不起作用。
我正在使用liferay来调用JavaScript
JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), 'script code');
我对alert()
进行了一些测试。它仍然有效,但没有任何ID。
请问有什么建议吗?
答案 0 :(得分:0)
在JavaScript中\
也是一个转义字符。因此,通过在jQuery选择器的字符串中添加双反斜杠,您实际上只需要包含一个文字的单反斜杠字符 - 然后jQuery以某种方式将其解释为冒号/句点的内部转义字符。
现在,因为\
字符也是Java转义字符,这意味着要生成相同的字符串文字,您需要完全改变它。
即。将字符串"$(\"#A3023\\:formId\\:textboxId\")"
传递到服务器端执行方法就足够了。