1. 程式人生 > >JavaScript事件的繫結與取消和事件監聽

JavaScript事件的繫結與取消和事件監聽

               

很多情況下,比如我們想對一個文字框或者按鈕進行事件繫結的時候,一般直接在他上面寫上什麼onclick等等的事

件,但是對於這樣的時間的去除,比如希望一個按鈕在這裡僅僅按下一次,然後再次按下的時候就不能有什麼效果了,

這就需要對事件 的監聽和繫結還有取消實行動態的機制,下面我們來演示一個小例子來說明一下事件的繫結和取消機

制/

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>  <head>    <title>test6.html</title> <script type="text/javascript">  function test(){   window.alert("您投了一次票");   document.getElementById("1").detachEvent("onclick",test);  } </script
>
  </head>    <body>    <input type="button" value="投票" id="1"/>    <script type="text/javascript">     document.getElementById("1").attachEvent("onclick",test);    </script>  </body>
</html>

這裡使用document.getElementById("1").attachEvent("onclick",test);進行動態的事件繫結,使用

document.getElementById("1").detachEvent("onclick",test)進行動態的時間的取消,這樣就實現了這個事件只能相應一次,下
次再點選這個按鈕的時候就不會再產生什麼效果。
下面再演示一個時時監聽鍵盤事件,判斷輸入的是否是數字,如果不是數字直接動態提示,然後拒絕其輸入
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>test7.html</title> <script type="text/javascript">  function test(event){   //使用者每按下一個按鍵,就去判斷是不是數字   if(event.keyCode<48 || event.keyCode > 57){    window.alert("您輸入的不是一個數字");    return false;   }  } </script>  </head>    <body>    <input type="text" onkeypress="return test(event);" />請輸入數字  </body></html>

這裡的event就是一個事件物件,他能返回很多的資訊,具體請參考文件。

  

           

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow