在Joomla中加载JavaScript函数onload事件

时间:2015-11-29 19:29:15

标签: javascript php html joomla

当我在Joomla中加载文章时,我正在尝试加载JavaScript函数。 在使用onload事件的正常HTML编码中 - 我可以加载包括JS函数在内的任何内容。即。

<body onload="myJSFunction()">

我使用Sorcerer能够在Joomla AS IS中写下JS - 但是当文章加载时我无法加载该函数。

我很高兴知道在Joomla文章中加载JS函数的正确方法。 我已经设法使用OnClick事件激活JS - 这意味着JS代码在Joomla中运行。

我希望在文章加载时激活该事件 - 有没有办法做到这一点? 有没有PHP代码可以帮助我吗? 我尝试使用此代码没有运气 - 当我的文章ID是133.该代码应该更改Joomla机构使用onload事件,当它遇到文章ID号133 - 但是,它根本不适用于Joomla和我没有得到我想要的onload事件。

> <?php if ($_GET['id'] == 133) {
>       $body = '<body onload="MyJSFunction()">';
>       } else {
>              $body = '<body>';
>       } ?>

请帮助我实现这一目标。 谢谢高级

1 个答案:

答案 0 :(得分:1)

如果您能够将javascript放入文档中,那么您可以使用document.body.addEventListener添加一行将该函数附加到onload事件。

这样的东西
document.body.addEventListener("onload", function(){ MyJSFunction(); });

您的函数可以存在于匿名函数内部。

在讨论之后修改这个(并纠正错字):

<script type="text/javascript">
document.body.addEventListener("onload", function(){
    var firstDivContent = document.getElementById('MyDiv');
    var secondDivContent = document.getElementById('MyDiv2');
    secondDivContent.innerHTML = firstDivContent.innerHTML;
});
</script>

或者如果周围没有其他事件监听器,您可以尝试:

<body onload="var firstDivContent = document.getElementById('MyDiv');
    var secondDivContent = document.getElementById('MyDiv2');
    secondDivContent.innerHTML = firstDivContent.innerHTML;">