我想要一个 div 只调用一个函数(不移动我在页面上的位置)而不是调用我的 JavaScript 函数 - 它移动我在页面上的位置
我做错了什么? (在 joomla 中运行)
为什么我的 JavaScript 函数没有在我的 div 中被调用?
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>
最佳答案
这是因为您有两个独立的脚本 block ,第一个调用第二个中定义的函数。将它们放在一个单独的 block 中,它将起作用。
<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 block 的顶部定义函数,它使代码更可读且可维护,但这不是您的脚本无法正常工作的原因。
注意:您可以在我给您的示例中看到 onclick 工作正常。
这里有一个关于函数提升的很好的教程:http://elegantcode.com/2011/03/24/basic-javascript-part-12-function-hoisting/
关于javascript - 为什么我的 javascript 函数没有在我的 div 中被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21807135/