我之前问了一个类似的问题,一个答案说要用这个:
var clickCounter=0;
input.onclick=function() {
clickCounter++;
if (clickCounter==2) {
window.alert("Hello");
}
};
但这不起作用是我的代码:
<!DOCTYPE html>
<html>
<body>
<script>
var clickCounter=0;
input.onclick=function() {
clickCounter++;
if (clickCounter==2) {
window.alert("Hello");
}
};
</script>
<input id="testing" type="button" value="X" onClick="value='Clear'" style="border-radius: 10px; transition: 5s;">
</body>
</html>
我试图在iPhone上清除通知。
答案 0 :(得分:1)
您需要定义变量“input”。
在纯JavaScript中,您可以使用getElementById()
:
var input=document.getElementById('testing');
正如Steve(和Guffa)所提到的,将你的javascript包装在onload
事件中,以便在你的Javascript执行之前加载DOM,如下所示:
window.onload=function() {
var input = document.getElementById('testing');
var clickCounter = 0;
input.onclick = function () {
clickCounter++;
if (clickCounter == 2) {
window.alert("Hello");
}
};
}
答案 1 :(得分:1)
您尚未定义input
是什么,它必须是对元素的引用。此外,您需要在元素存在后运行代码。
<!DOCTYPE html>
<html>
<head>
<title>page title</title>
<script>
var clickCounter=0;
window.onload = function(){
document.getElementById("testing").onclick = function() {
clickCounter++;
if (clickCounter==2) {
window.alert("Hello");
}
};
}
</script>
</head
<body>
<input id="testing" type="button" value="X" style="border-radius: 10px; transition: 5s;">
</body>
</html>
脚本通常会进入head
标记,并且还应该有title
作为有效的HTML文档。
答案 2 :(得分:0)
HTML:
<button id="Button1">Button</button>
JS:
var clickCounter=0;
var button1 = document.getElementById('Button1')
button1.onclick=function() {
clickCounter++;
if (clickCounter==2) {
window.alert("Hello");
}
};
答案 3 :(得分:0)
顺便说一下,有一个原生的double click event:
document.getElementById("testing").ondblclick=function() {
window.alert("Hello");
};