iPad Pro版Coda预览中Javascript事件无法触发求助
解决Coda中HTML预览JS事件无响应的问题
看起来你遇到的问题是几个基础语法和路径的小问题导致的,我帮你逐一排查并修正:
问题1:错误使用<source>标签引入JavaScript
你用了<source>标签来加载JS文件,但这个标签是专门给媒体元素(比如<audio>、<video>)用的,加载JavaScript必须用<script>标签。
问题2:JavaScript函数定义语法错误
你的doStuff()函数缺少function关键字,这会导致浏览器无法识别它是一个可调用的函数,自然没法触发事件。
问题3:脚本文件的相对路径错误
因为template.html和scripts.js都在assets目录下,所以相对路径应该直接写scripts.js,而不是assets/scripts.js——后者会让浏览器去寻找assets/assets/scripts.js,显然这个路径是不存在的。
修正后的assets/template.html:
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="scripts.js"></script> </head> <body> <h1 class="myheader" id="theheader">Hello?</h1> <button onclick="doStuff()">click me</button> </body> </html>
修正后的assets/scripts.js:
function doStuff() { document.getElementById('theheader').style.color = 'red'; }
做完这些修改后,再在Coda的分屏预览里测试,按钮点击应该就能正常触发标题颜色变化了。另外也可以考虑把脚本放在<body>标签的末尾(</body>之前),这样能确保DOM元素加载完成后再执行脚本,避免潜在的元素未找到问题,不过当前代码因为是通过点击事件触发,放在<head>里也能正常工作。
内容的提问来源于stack exchange,提问作者M. Francis
相关产品推荐
相关产品推荐

