gpt4 book ai didi

Javascript:函数不会被触发

转载 作者:行者123 更新时间:2023-12-03 11:59:53 26 4
gpt4 key购买 nike

我对以下结构有一个初学者的问题:

<body>


<p id="text_object">Some text</p>

<button id="button_change_text">change text on click</button>



// Individual script on page template
// ----------------------------------
<script type="text/javascript">
var object = $('#text_object');
changeTextOnLoad(object);
</script>

// Footer from included footer.php with universal main.js file
// ------------------------------------------------------------
<footer>
<script type="text/javascript" src="main.js">
</footer>

</body>

我的ma​​in.js包含以下内容:

// declaration of function for writing new text into text object on load
function changeTextOnLoad(object) {
object.text('New text');
}

// declaration of click function
$('#button_change_text').on('click', function() {
$('#text_object').text('New text');
});

我的问题:我的控制台告诉我,changeTextOnLoad() 未定义。但是单击按钮并通过这种方式更改文本效果非常好。原因在哪里呢? 为什么在我的 main.js 文件中,click 函数被触发,但 changeTextOnLoad 函数却没有被触发?

最佳答案

您正在加载 main.js 文件之前调用changeTextOnLoad 函数。要么将函数调用放在 onload 事件回调中,要么将 include 放在调用上方

window.onload = function(){
var object = $('#text_object');
changeTextOnLoad(object);
};
//Or using addEventListener
window.addEventListener("load",function(){
var object = $('#text_object');
changeTextOnLoad(object);
});
//Or since you are using jQuery
$(document).ready(function(){
var object = $('#text_object');
changeTextOnLoad(object);
});
//Or
$(function(){
var object = $('#text_object');
changeTextOnLoad(object);
});

或者

<script type="text/javascript" src="main.js"></script>
<script type="text/javascript">
var object = $('#text_object');
changeTextOnLoad(object);
</script>

关于Javascript:函数不会被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com