和以前一样在同一个页面上工作,但是现在我把它当作一个玩弄jQuery的游乐场,所以我可以为我的'boss'学习它.不幸的是,我无法在此文件中执行javascript来执行,更不用说给我一个警告.页面上的所有PHP和HTML都能很好地工作,这只是脚本的问题.我究竟做错了什么?
<?php
if( isset($_POST['mushu']) )
{
playAnimation();
clickInc();
}
function playAnimation()
{
echo "<img src='cocktail-kitten.jpg' id='blur'>";
}
function clickInc()
{
$count = glob("click*.txt");
$clicks = file($count[0]);
$clicks[0]+=1;
$fp = fopen($count[0], "w") or die("Can't open file");
fputs($fp, $clicks[0]);
fclose($fp);
echo $clicks[0];
}
?>
<html>
<head>
<title>Adobe Kitten</title>
<script type="text/javascript" src="jquery.js"></script>
</head>
<body>
<form action="<?php $_SERVER['PHP_SELF']; ?>"
method="post">
<input type="submit"
value="Let's see what Mushu is up to."
name="mushu">
</form>
<script>
$(document).ready( function()
{
$('#blur').click( function()
{
$(this).blur( function()
{
alert('Handler for .blur() called.');
});
});
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
您在标记playAnimation()之前调用<html>,因此您的HTML格式不正确.JQuery可能找不到这个#blur元素,因为它实际上并不在你的网页中,更不用说了<body>.
将if( isset($_POST['mushu'])) ...代码块移动到body标记之后的某处.