我一直在关注例子,但我的小提琴不起作用。这是代码:
var showMessage;
var divTag = document.getElementById("myDiv");
divTag.onClick = showMessage();
showMessage = function() {
alert("You clicked me.");
}
<div id="myDiv" style="height: 100px; width: 100px; background-color: pink;">
</div>
我可能错过了一些愚蠢但我看不到的东西。我在这里读到可以在div上放置一个click事件。有谁知道我做错了什么?
P.S。是的,我不知道如何破译或修复错误。
答案 0 :(得分:3)
将您的JS更改为:
function showMessage() {
alert("You clicked me.");
}
var divTag = document.getElementById("myDiv");
divTag.addEventListener('click', showMessage);
您的代码:divTag.onClick = showMessage();
正在调用函数showMessage
的响应,而不是函数。
showMessage
被调用,其返回值(undefined
)是您传递给onClick
属性的内容。
次要问题:如果您希望使用屏幕阅读器的盲人用户使用此页面,最好使用
<button>
或<a>
标记。要么你需要模仿使屏幕阅读器正常工作所需的所有东西。
答案 1 :(得分:1)
你有几个问题:
onClick
与onclick
不同。以下是您的代码的更正版本:
showMessage = function() {
alert("You clicked me.");
}
var divTag = document.getElementById("myDiv");
divTag.onclick = showMessage;
&#13;
<div id="myDiv" style="height: 100px; width: 100px; background-color: pink;"></div>
&#13;
那个香草JS。由于问题也被标记为&#34; jQuery&#34;,这里是jQuery版本的同一件事:
$('#myDiv').on("click",function() {alert("you clicked me")});
答案 2 :(得分:1)
由于您已经标记了jQuery,我们只会给您jQuery解决方案:
$('#myDiv').click(showMessage);
但请确保在jQuery点击事件绑定之前(上方)设置showMessage
函数。