-4

我有一些代码可以插入到我的 Joomla 3.0 页面中,可以正确调用 java。我正在尝试将 JFactory::getDocument 切换为我的 java 函数,因为它是 Joomla 原生的。

这是工作代码

<!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="utf-8">
   <title>jQuery demo</title>
 </head>
 <body>
   <a href="http://jquery.com/">jQuery</a>
   <script src="media/jui/js/jquery.min.js"></script>
   <script>
     $(document).ready(function(){
       $("a").click(function(event){
         alert("As you can see, the link no longer took you to jquery.com");
         event.preventDefault();
       });
     });
   </script>
 </body>
 </html>

这是我尝试过但不起作用的方法

<!DOCTYPE html>
 <html lang="en">
 <head>
   <meta charset="utf-8">
   <title>jQuery demo</title>
 </head>
 <body>
<?php
   JFactory::getDocument()->addScriptDeclaration('
(function($) {
     $(document).ready(function(){
       $("a").click(function(event){
         alert("As you can see, the link no longer took you to jquery.com");
         event.preventDefault();
       });
     });
 }) (jQuery);
');?>
 </body>
 </html>

对此有任何帮助吗?

4

2 回答 2

1

通常这会起作用

$document = &JFactory::getDocument();

$document->addScriptDeclaration('(function($) {
 $(document).ready(function(){
   $("a").click(function(event){
     alert("As you can see, the link no longer took you to jquery.com");
     event.preventDefault();
   });
 });
 }) (jQuery);
');

这将不起作用然后尝试将 JS 代码用于外部 Js 文件,然后包含使用以下代码。

$document->addScript("your script page full path");

希望对你有帮助..

于 2012-12-31T03:46:22.423 回答
0

尝试使用以下内容:

<?php
   $document = JFactory::getDocument();
    $js = '
       (function($) {
           $(document).ready(function(){
              $("a").click(function(event){
                 alert("As you can see, the link no longer took you to jquery.com");
                 event.preventDefault();
              });
           });
        })(jQuery);';
   $document->addScriptDeclaration($js);
?>

希望这可以帮助

于 2012-12-30T22:45:46.793 回答