ريتش: jQuery لا يعمل على دعوة JS
-
01-10-2019 - |
سؤال
لدي تطبيق 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
وظيفة ، لا تعمل. لقد راجعت في مصدر الصفحة هذه الوظيفة موجودة. ما يمكن ان يكون خطأ؟
المحلول
لقد وجدت ذلك. تم استدعاء الاستعلام على الكائن الذي تم اختياره بواسطة jQuery Selector. لذلك في مثل هذا ، في JavaScript هو هو
jQuery(selector).alert('in jquery call');
هذا بالطبع لا يمكن أن يعمل. لذلك أحتاج إلى استدعاء أي شيء على العنصر المحدد ، وبعد ذلك يمكنني أن أفعل ما أريد:
query="hide(); alert('this works');"
في JavaScript بعد ذلك (يتم إخفاء العنصر المحدد على أي حال):
jQuery(selector).hide(); alert('this works');
لا تنتمي إلى StackOverflow