我想要一个div来调用一个函数(不要移动我在页面上的位置),而不是调用我的JavaScript函数 - 它会移动我在页面上的位置
我做错了什么? (在joomla里面跑)为什么我的div函数没有调用我的JavaScript函数?
http://....com/test.php#p3
<div id="p1" onclick="testFunction()">
</div>
<div id="p3">Some content</div>
<script type="text/javascript">
testFunction();
</script>
</div>
<script type="text/javascript">
function testFunction() {
alert("Test");
}
</script>
答案 0 :(得分:1)
这是因为你有两个独立的脚本块,第一个调用第二个脚本块中定义的函数。将它们放在一个单独的块中就可以了。
<div id="p1" onclick="testFunction()">click me</div>
<div id="p3">Some content</div>
<script type="text/javascript">
testFunction();
function testFunction() {
alert("Test");
}
</script>
评论说你需要在顶部定义它是不正确的,请参见此处:http://jsfiddle.net/xDf5e/
如果你定义了一个变量函数,它们就是真的:var testFunction = function(...
。通常,您应该在JS块的顶部定义函数,它使代码更具可读性和可维护性,但这并不是您的脚本无法工作的原因。
注意:你可以看到onclick在我给你的例子中也很好。
你有一个很好的关于功能提升的教程:http://elegantcode.com/2011/03/24/basic-javascript-part-12-function-hoisting/
答案 1 :(得分:-1)
应在使用前首先定义测试功能
<script type="text/javascript">
function testFunction() {
alert("Test");
}
</script>
<div id="p1" onclick="testFunction()">
</div>
<div id="p3">Some content</div>
<script type="text/javascript">
testFunction();
</script>
</div>