-2

我之前问过一个类似的问题,一个答案说使用这个:

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 上明确通知。

4

4 回答 4

1

您需要定义变量“输入”。

在纯 javascript 中,您可以使用getElementById()

var input=document.getElementById('testing');

http://jsfiddle.net/S9wQ2/

编辑:

正如史蒂夫(和 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");
        }
    };

}

http://jsfiddle.net/S9wQ2/2/

于 2013-11-12T23:29:57.633 回答
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 文档。

于 2013-11-12T23:30:28.023 回答
0

jsFiddle 示例

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");
  }
};
于 2013-11-12T23:28:56.467 回答
0

顺便说一下原生的双击事件

document.getElementById("testing").ondblclick=function() {
     window.alert("Hello");
};

小提琴示例

于 2013-11-12T23:34:56.870 回答