javascript - 为什么我的 javascript 函数没有在我的 div 中被调用?

标签 javascript jquery html css function

我想要一个 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/

相关文章:

php - 访问从 jquery 传递给 php 的数组元素

jquery - 如何根据选项使用 jquery 将类添加到下拉列表

javascript - 上一行完成后运行一行jQuery

javascript - 使用 jQuery 复制 CSS 过滤器

javascript - 总计 Jquery 汇总

javascript - ASP.NET RadioButtonList 和渐进式增强

javascript - 如何根据另一个元素的内容添加 HTML 类?

javascript - 在div内添加一个div并加载js文件

javascript字符串替换多个特殊字符

javascript - TypeError : 'caller' , 'callee' 和 'arguments' 属性可能无法在严格模式函数或调用的参数对象上访问