0

我想在 JSF 中获取文本框的 ID 以将 keyup 事件与 jQuery 绑定。

我有$('#A3023\\:formId\\:textboxId').live('keyup', function(){...});javascript代码,它工作正常。但我必须在服务器端调用 JavaScript。

所以,我尝试使用$('#A3023\\\\:formId\\\\:textboxId') 双重转义\,但它不起作用。

我正在使用 liferay 调用 JavaScript

JavascriptContext.addJavascriptCall(FacesContext.getCurrentInstance(), 'script code');

我有一些测试alert()。它仍然有效,但没有任何 ID。请问有什么建议吗?

4

1 回答 1

0

在 JavaScript\中也是一个转义字符。因此,通过在 jQuery 选择器的字符串中添加双反斜杠,您实际上只是包含了一个文字单反斜杠字符——然后 jQuery 以某种方式将其解释为冒号/句点的内部转义字符。

现在,由于该\字符也是 Java 转义字符,这意味着要生成相同的字符串文字,您无需进行任何更改。

即将字符串传递"$(\"#A3023\\:formId\\:textboxId\")"到您的服务器端执行方法就足够了。

于 2012-07-14T06:32:56.800 回答