在下面的HTML/Javascript片段中,我忽略了onclick语句中函数的括号(应该是:onclick="showMessage()")。
我怎样才能突出显示丢失的括号?
(a)在我显示该页之前,在记事本内。
(b)在浏览器JS控制台显示页面后?
如果除了检查之外,这是不可能的,我是否可以更容易地找出这个问题呢?
<html>
<head>
<script>
function showMessage() {
document.getElementById("messageArea").innerHTML = "Hello World";
}
</script>
</head>
<body>
<input type="button" value="Show message" onclick="showMessage">
<div id="messageArea">---</div>
</body>
</html>发布于 2017-09-10 19:50:35
问题是onclick接受任何类型的javascript表达式,函数执行就是其中之一。例如:
<script>
var a = 10
</script>
<!--All are valid and don't throw any errors -->
<button onclick="a">Nothing happens</button>
<button onclick="a++">Increment</button>
<button onclick="alert(a)">Check value</button>
<button onclick="undefined">Surely Not?</button>
执行像showMessage()这样的函数是它的主要用途之一。从技术上讲,在showMessage中使用没有()的onclick并不是一个错误。showMesage只是函数定义,如果您在浏览器的控制台中键入showMessage并按enter键,它只会返回函数定义,不会抛出任何错误。所以IDE不会将它划线为错误,因为它不是一个错误。
发布于 2017-09-10 19:11:38
我不知道有任何工具会查看html属性中可能出现的错误。
但是,如果将所有javascript代码移动到单独的文件中,则可以使用像埃斯林这样的工具来检查常见错误。
因此,在本例中,您可以使用javascript来选择元素并添加事件侦听器,而不是在HTML中使用onclick属性。
https://stackoverflow.com/questions/46144538
复制相似问题