我在Joomla环境中工作,但我认为这不是问题的根源。
我有一个使用AJAX渲染子视图(包含<script type="text/javascript></script>
等JavaScript代码)的视图。问题是:JavaScript代码被忽略。我想这是因为它在加载时不在文档中。
以下是其中一个子视图中包含的JavaScript代码:
<script type="text/javascript">
window.addEvent('domready', function() {
$('annuler').addEvent('click', function() {
var a = new Ajax(
'{$url}',
{
method: 'get',
update: $('update')
}
).request();
});
});
</script>
另一个基本示例,如果我在其中加载包含以下代码的子视图,它将无法正常工作:
<script type="text/javascript">
function test()
{
alert('ok');
}
</script>
<a id="annuler" onclick="test()">Annuler</a>
我收到以下错误消息:“test is not defined”
我找不到解决这个问题的方法,所以我开始认为这不是一个使用JavaScript的好方法...而且,是的,我对基于事件的JavaScript(带框架)有点新意等等。)
答案 0 :(得分:0)
我终于设法将所有子视图和JavaScript代码放在同一页面中。我正在使用CSS display
属性来隐藏/显示子视图(<div>
)(而不是使用Ajax加载它)。
答案 1 :(得分:-1)
将要运行的代码放在函数中,并从就绪块
调用该函数编辑: 示例:
$(document).ready(function() {
// put all your jQuery goodness in here.
});
在此处找到:http://www.learningjquery.com/2006/09/introducing-document-ready