Fra*_*uke 2 templates cakephp onload
我有一个应用程序,我需要在两个表单的BODY标记的onLoad事件中调用一些JS.但是,我找不到如何修改标签.有人知道吗?
坦率
inkedmn肯定为这个案例提供了正确的答案,但总的来说,你可以像这样"提供信息":
(在views/controller/view.ctp中)
$this->set('bodyAttr', 'onload="something"');
Run Code Online (Sandbox Code Playgroud)
(在views/layouts/default.ctp中)
<?php
if (isset($bodyAttr)) {
$bodyAttr = " $bodyAttr";
} else {
$bodyAttr = null;
}
?>
<body<?php echo $bodyAttr; ?>>
Run Code Online (Sandbox Code Playgroud)
我经常像这样使用它来为"顶级元素"添加额外的类:
<?php
if (!isset($docClass)) {
$docClass = null;
}
?>
<div id="doc" class="<?php echo $docClass; ?>">
Run Code Online (Sandbox Code Playgroud)
您不需要修改body标签以在页面加载时执行Javascript.您可以在适当的布局中包含这样的内容:
(jQuery的)
$("body").load(
function(){
// do stuff when the body element is loaded.
}
);
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望在document.ready事件触发时执行代码:
$(function(){
// do stuff when the document is ready
}
);
Run Code Online (Sandbox Code Playgroud)
或者,如果您不想使用jQuery,您可以执行以下操作:
function doStuff(){
// whatever you want to happen when the load completes
}
window.onload = dostuff;
Run Code Online (Sandbox Code Playgroud)
祝你好运 - 如果这个答案不能令人满意,请澄清你的问题.