rich:jQuery 不适用于 JS 调用

发布于 2024-09-15 22:10:04 字数 488 浏览 3 评论 0原文

我有 richfaces 应用程序。在页面中,定义了 jQuery 函数:

<rich:jQuery timing="onJScall" name="updateUrlHash" selector="#conversationId" 
    query="alert('in jquery call');" />

然后我有一些 a4j:commandLink,它应该在完成 ajax 请求时调用该函数。

<a4j:commandLink value="test" oncomplete="updateUrlHash(this)" />

不幸的是,它不起作用。我知道 oncomplete 有效,因为如果我放在那里 alert('test');,就会显示警报。但是当我尝试调用 updateUrlHash 函数时,它不起作用。我检查了页面源代码,该功能就在那里。有什么问题吗?

I have richfaces application. In the page, there is jQuery function defined:

<rich:jQuery timing="onJScall" name="updateUrlHash" selector="#conversationId" 
    query="alert('in jquery call');" />

Then I have some a4j:commandLink, which should call the function on completing ajax request.

<a4j:commandLink value="test" oncomplete="updateUrlHash(this)" />

Unfortunately, it does not work. I know oncomplete works, because if I put there alert('test');, alert is shown. But when I try to call updateUrlHash function, it does not work. I checked in page source that function is there. What can be wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮邮递员 2024-09-22 22:10:04

我找到了。对 jQuery 选择器选择的对象调用查询。所以在这样的例子中,在 javascript 中

jQuery(selector).alert('in jquery call');

这当然是行不通的。所以我需要在所选元素上调用任何内容,然后我可以做我想做的事情:

query="hide(); alert('this works');"

在 Javascript 中就是这样(所选元素无论如何都是隐藏的):

jQuery(selector).hide(); alert('this works');

I found it. Query is called on object selected by jQuery selector. So in example like this, in javascript is it

jQuery(selector).alert('in jquery call');

This of course cannot work. So I need to call anything on selected element, and then I can do what I want:

query="hide(); alert('this works');"

In Javascript it is then (selected element is hidden anyway):

jQuery(selector).hide(); alert('this works');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文